parent
c912ff6221
commit
8e72894679
|
|
@ -2,4 +2,6 @@ extracted_apk
|
|||
secrets
|
||||
.DS_Store
|
||||
*.pyc
|
||||
mkbootimg
|
||||
mkbootimg
|
||||
fw_updater_packer_unpacker/pkg_example/official_cp1_1.4.02.09061
|
||||
fw_updater_packer_unpacker/pkg_example/official_rp1_1.4.01.16100
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
#!/bin/sh
|
||||
|
||||
LOG_FP="/root/updater_$(date +%s).log"
|
||||
exec &>"$LOG_FP"
|
||||
|
||||
UPDATER_BASE=$(dirname ${0})
|
||||
cd "$UPDATER_BASE"
|
||||
|
||||
YAFT_PID=0
|
||||
./yaft </dev/null >/tmp/pty.txt &
|
||||
YAFT_PID=$!
|
||||
pty=""
|
||||
for i in $(seq 1 10); do
|
||||
pty="$(cat /tmp/pty.txt)"
|
||||
if [ -n "$pty" ]; then
|
||||
break;
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
if [ -z "$pty" ]; then
|
||||
echo "openpty failed"
|
||||
kill -INT $YAFT_PID
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
echo "will open pty $pty"
|
||||
rm "/tmp/_fifo"
|
||||
mkfifo "/tmp/_fifo"
|
||||
tee "$pty" < /tmp/_fifo &
|
||||
|
||||
exec &>"/tmp/_fifo"
|
||||
|
||||
echo "success"
|
||||
echo "This is a demo update package which does nothing."
|
||||
echo "enjoy"
|
||||
|
||||
for i in $(seq 10 -1 1); do
|
||||
echo "will done in ${i} seconds."
|
||||
sleep 1
|
||||
done
|
||||
|
||||
exit 0
|
||||
Binary file not shown.
|
|
@ -0,0 +1,20 @@
|
|||
all: fw.pkg
|
||||
|
||||
fw.pkg: base.pkg payload.tar.gz
|
||||
echo 12836160f229d466bf4f051ba26fb46697bfa748e81b279b69ad9a5bd340958e $< | openssl sha256 -c
|
||||
cp $< $@
|
||||
echo "55 -none -in /tmp/anim_sig.dat" | dd bs=8 count=4 seek=67 of=$@ conv=notrunc
|
||||
echo "00 00 00 00" | xxd -r -p >> $@
|
||||
echo "00 00 00 00" | xxd -r -p >> $@
|
||||
printf '%08x' $$(wc -c < payload.tar.gz) | sed -E 's/(..)(..)(..)(..)/\4\3\2\1/' | xxd -r -p | head -c 4 >> fw.pkg
|
||||
cat payload.tar.gz >> $@
|
||||
|
||||
|
||||
payload.tar.gz: FwUpdater
|
||||
[ -x $</eufwupdater.sh ]
|
||||
tar -cvz --exclude=".*" --numeric-owner -f $@ $<
|
||||
|
||||
.PHONY: all check_sig payload.tar.gz
|
||||
|
||||
clean:
|
||||
-rm fw.pkg payload.tar.gz
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
all: fw.pkg
|
||||
|
||||
fw.pkg: base.pkg payload.tar.gz
|
||||
echo 12836160f229d466bf4f051ba26fb46697bfa748e81b279b69ad9a5bd340958e $< | sha256sum -c
|
||||
cp $< $@
|
||||
echo "55 -none -in /tmp/anim_sig.dat" | dd bs=32 count=1 seek=536 oflag=seek_bytes of=$@ conv=notrunc
|
||||
echo "00 00 00 00" | xxd -r -p >> $@
|
||||
echo "00 00 00 00" | xxd -r -p >> $@
|
||||
printf '%08x' $$(wc -c < payload.tar.gz) | \
|
||||
sed -r 's/(..)(..)(..)(..)/\4\3\2\1/' | \
|
||||
xxd -r -p | head -c 4 >> fw.pkg
|
||||
cat payload.tar.gz >> $@
|
||||
|
||||
|
||||
payload.tar.gz: FwUpdater
|
||||
[ -x $</eufwupdater.sh ]
|
||||
tar -cvz --exclude=".*" --owner=0 --group=0 --numeric-owner --no-acls --no-xattrs -f $@ $<
|
||||
|
||||
.PHONY: all check_sig payload.tar.gz
|
||||
|
||||
clean:
|
||||
-rm fw.pkg payload.tar.gz
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
all: fw.pkg
|
||||
|
||||
fw.pkg: base.pkg payload.tar.gz
|
||||
echo 12836160f229d466bf4f051ba26fb46697bfa748e81b279b69ad9a5bd340958e $< | openssl sha256 -c
|
||||
cp $< $@
|
||||
echo "55 -none -in /tmp/anim_sig.dat" | dd bs=8 count=4 seek=67 of=$@ conv=notrunc
|
||||
echo "00 00 00 00" | xxd -r -p >> $@
|
||||
echo "00 00 00 00" | xxd -r -p >> $@
|
||||
printf '%08x' $$(wc -c < payload.tar.gz) | sed -E 's/(..)(..)(..)(..)/\4\3\2\1/' | xxd -r -p | head -c 4 >> fw.pkg
|
||||
cat payload.tar.gz >> $@
|
||||
|
||||
|
||||
payload.tar.gz: FwUpdater
|
||||
[ -x $</eufwupdater.sh ]
|
||||
tar -cvz --exclude=".*" --numeric-owner -f $@ $<
|
||||
|
||||
.PHONY: all check_sig payload.tar.gz
|
||||
|
||||
clean:
|
||||
-rm fw.pkg payload.tar.gz
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
This is a PKG packing script by shankerzhiwu. Post on behalf of him. Applause.
|
||||
|
||||
# Explanation
|
||||
My PKG packing script requires DPT users to "hack" into their device in diagnosis mode, and change a few lines of the updater script to bypass the verification.
|
||||
|
||||
Therefore, the hacking process requires the user to actually log into the diagnosis mode.
|
||||
|
||||
`shankerzhiwu` took a step further (with the suggestion from `sekkit`) and made this script so DPT users do not need to go into the diagnosis mode at all, if users flash PKGs made by this script.
|
||||
|
||||
|
||||
# How to create PKG
|
||||
|
||||
To make a PKG, just edit scripts in `FwUpdater` and then type `make`.
|
||||
Binary file not shown.
Loading…
Reference in New Issue