Code Monkey home page Code Monkey logo

oppo_ozip_decrypt's Introduction

oppo_decrypt_ozip

Oppo/Oneplus .ozip Firmware decrypter

Tested with CPH1707EX, CPH1611EX OTA Zip and Python >= 3.6

  • ozipdecrypt.py : Decrypt Oppo .ozip to .zip

Prerequirement:

sudo apt install python3-pip
pip3 install -r requirements.txt

Usage:

  • OTA OZIP decryption:
./ozipdecrypt.py CPH1707EX_OTA_0070_all.ozip

File will be decrypted as *.zip

License:

Share, modify and use as you like, but refer the original author !

Tutorial:

For a tutorial on aes key extraction, head over here.

For extraction of libpatchapply.so or /sbin/recovery, use:

./ofp_libextract.py [your_ofp_file]

If you're getting a recovery.cpio.7z file, extract using 7z to get the /sbin/recovery file.

oppo_ozip_decrypt's People

Contributors

5lipper avatar art-chen avatar bkerler avatar blackeangel avatar chan1108 avatar dstmath avatar fawazahmed0 avatar ganeshi4u avatar mauronofrio avatar roytam1 avatar stricted avatar superr avatar surendrajat avatar tvirushive3 avatar uaevuon avatar winkarbik avatar wzsx150 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oppo_ozip_decrypt's Issues

add Realme C2 aes key / magic UnicodeDecodeError

sorry i have a usage problem..

(regardless i have no aes key, yet) i do not understand how to decrypt ozip file. unfortunately i don't understand python, but from the source code i can see Magic OPPOENCRYPT! is expected.

the firmware i downloaded from http://www.tuserhp.com/2019/05/firmware-realme-c2-rmx1941.html is a ozip file. but i cannot see the Magic. instead, i can unpack the ozip file with p7zip. the files inside have Magic OPPOENCRYPT!

is the usage: "ozipdecrypt.py [*.ozip]" still the same, or should i run decryption on each file instead?

is the UnicodeDecodeError caused by wrong input or broken environment? i have found only this solution but when i change the script, i get "ValueError: binary mode doesn't take an encoding argument"
https://stackoverflow.com/questions/46180610/python-3-unicodedecodeerror-how-do-i-debug-unicodedecodeerror

Here is the error: $ python ozipdecrypt.py RMX1941EX_11_OTA_0100_all_6Tw0LV9IfSI3.ozip

Click to expand

mint@debian ~/src/python-3.7.3 $ python3.7 -V
Python 3.7.3
mint@debian ~/src/python-3.7.3 $ python3.7 -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 3.0.0-dev xx XXX xxxx
mint@debian ~/src/python-3.7.3 $ sudo pip3.7 install pycrypto
Collecting pycrypto
Downloading https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz (446kB)
|########################################| 450kB 801kB/s
Installing collected packages: pycrypto
Running setup.py install for pycrypto ... done
Successfully installed pycrypto-2.6.1
mint@debian ~/src/python-3.7.3 $ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description: LMDE 2 Betsy
Release: 2
Codename: betsy
mint@debian ~/src/python-3.7.3 $ cd ..
mint@debian ~/src $ cd oppo_ozip_decrypt-master
mint@debian ~/src/oppo_ozip_decrypt-master $ ls
ofp_libextract.py ozipdecrypt.py README.md
mint@debian ~/src/oppo_ozip_decrypt-master $ python3.7 ozipdecrypt.py /media/mint/5E7B7301488C5437/Downloads/RMX1941EX_11_OTA_0100_all_6Tw0LV9IfSI3.ozip
ozipdecrypt 0.3 (c) B.Kerler 2017-2019
Traceback (most recent call last):
File "ozipdecrypt.py", line 74, in <module>
main()
File "ozipdecrypt.py", line 48, in main
magic=fr.read(12).decode()
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 10-11: unexpected end of data
mint@debian ~/src/oppo_ozip_decrypt-master $ hexdump -C -n512 /media/mint/5E7B7301488C5437/Downloads/RMX1941EX_11_OTA_0100_all_6Tw0LV9IfSI3.ozip
00000000 50 4b 03 04 0a 00 00 08 00 00 ec 8c 5b 4d 87 ff |PK..........[M..|
00000010 70 88 ad 1a 00 00 ad 1a 00 00 11 00 0a 00 63 6f |p.............co|
00000020 6d 70 61 74 69 62 69 6c 69 74 79 2e 7a 69 70 fe |mpatibility.zip.|
00000030 ca 00 00 35 d9 02 00 00 00 50 4b 03 04 14 00 00 |...5.....PK.....|
00000040 00 08 00 00 00 21 3a 6c a1 f8 45 99 07 00 00 aa |.....!:l..E.....|
00000050 5b 00 00 13 00 00 00 76 65 6e 64 6f 72 5f 6d 61 |[......vendor_ma|
00000060 6e 69 66 65 73 74 2e 78 6d 6c ed 9c 5d 6f db 36 |nifest.xml..]o.6|
00000070 14 86 ef fb 2b 02 df 0e b3 62 a7 18 86 c2 09 96 |....+....b......|
00000080 ba 49 53 b4 69 b3 26 5b 2f 03 5a a2 25 c2 92 a8 |.IS.i.&[/.Z.%...|
00000090 92 b4 b3 fc fb 51 5f 96 65 51 16 45 1f 5a 18 b0 |.....Q_.eQ.E.Z..|
000000a0 de b4 b5 79 f8 1e 3d 3c fc 3e d6 2c 42 31 59 62 |...y..=<.>.,B1Yb|
000000b0 2e ce 36 98 71 42 e3 cb d1 64 7c 3e 3a 13 af 09 |..6.qB...d|>:...|
000000c0 be 1c 79 78 43 5c 2c ff 87 98 8f c5 af 21 de e0 |..yxC\,......!..|
000000d0 f0 72 74 31 ba 7a 73 26 ff cc 02 14 9e 2d 29 8b |.rt1.zs&.....-).|
000000e0 90 b8 1c 05 c4 0b 8b cf b3 ef 62 14 e1 2b 14 7b |..........b..+.{|
000000f0 8c 12 6f 1c 20 e6 bd 20 86 c7 68 ed 11 3a 73 b2 |..o. .. ..h..:s.|
00000100 2f ab b2 82 a1 98 27 94 89 ab e0 65 41 62 0f b3 |/.....'....eAb..|
00000110 99 53 7d 56 95 2b 5c bc 7a 3b 3e 9f 39 e5 7f aa |.S}V.+\.z;>.9...|
00000120 af 49 2c 30 5b 22 77 a7 ea ca 95 4f 1f b2 67 e1 |.I,0["w....O..g.|
00000130 b7 c8 15 94 bd ee fb 50 54 c0 05 8a a5 bd 87 97 |.......PT.......|
00000140 68 1d 8a 99 b3 fd a4 52 71 14 32 b3 e5 cf ac ba |h......Rq.2.....|
00000150 3f a4 67 ef de ed 49 39 db da 8a 52 39 3c 47 d2 |?.g...I9...R9<G.|
00000160 3b 8e e3 18 2f 97 d8 15 c3 e0 bc c9 b4 4f 82 b3 |;.../........O..|
00000170 2e 65 03 e7 22 5c 63 41 a9 08 8e 66 39 31 61 f9 |.e.."\cA...f91a.|
00000180 be 94 bf 73 89 25 92 93 8c e4 ae 90 0d 8e ae fc |...s.%..........|
00000190 94 a1 71 c2 e8 86 64 a8 8e a4 39 1d bf ed 4f 73 |..q...d...9...Os|
000001a0 9e 39 f1 d0 e2 43 9d 67 56 53 8c 42 e7 bc 3f 52 |.9...C.gVS.B..?R|
000001b0 e9 9c 44 5a 57 73 76 2b 84 e4 ca 87 89 cc 7b ec |..DZWsv+......{.|
000001c0 11 34 47 fc 11 b3 74 48 b3 1a 9c 7b 5a 56 e2 93 |.4G...tH...{ZV..|
000001d0 c6 4b e2 73 39 8c 34 1e c5 80 e7 a4 3f cf c7 75 |.K.s9.4.....?..u|
000001e0 f6 dd 6d 48 62 1f b3 79 ee 8e 35 aa 13 49 55 a9 |..mHb..y..5..IU.|
000001f0 68 83 ad c7 a2 61 62 74 ce 5e 13 41 ed 4c 44 1d |h....abt.^.A.LD.|
00000200
mint@debian ~/src/oppo_ozip_decrypt-master $ 7z l /media/mint/5E7B7301488C5437/Downloads/RMX1941EX_11_OTA_0100_all_6Tw0LV9IfSI3.ozip

7-Zip [32] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,32 bits,2 CPUs Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz (10676),ASM)

Scanning the drive for archives:
1 file, 2026637673 bytes (1933 MiB)

Listing archive: /media/mint/5E7B7301488C5437/Downloads/RMX1941EX_11_OTA_0100_all_6Tw0LV9IfSI3.ozip

--
Path = /media/mint/5E7B7301488C5437/Downloads/RMX1941EX_11_OTA_0100_all_6Tw0LV9IfSI3.ozip
Type = zip
Physical Size = 2026637673
Comment = signed by SignApk

Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2018-10-27 17:39:24 ..... 6829 6829 compatibility.zip
2018-10-27 17:39:24 ..... 0 0 system.patch.dat
2018-10-27 17:39:24 ..... 1 1 type.txt
2018-10-27 17:39:24 ..... 0 0 vendor.patch.dat
2018-10-27 17:39:24 ..... 289 184 META-INF/com/android/metadata
2018-10-27 17:39:24 ..... 1817384 846592 META-INF/com/google/android/update-binary
2018-10-27 17:39:24 ..... 5531 1297 META-INF/com/google/android/updater-script
2018-10-27 17:39:24 ..... 33558608 9462919 boot.img
2018-10-27 17:39:24 ..... 16781392 69153 dtbo.img
2018-10-27 17:39:24 ..... 1010384 667217 lk.img
2018-10-27 17:39:24 ..... 50120000 40330397 md1img.img
2018-10-27 17:39:24 ..... 175 92 oppo_metadata
2018-10-27 17:39:24 ..... 1200 471 oppo_update_script.sh
2018-10-27 17:39:24 ..... 251760 238368 preloader.img
2018-10-27 17:39:24 ..... 251760 238368 preloader_emmc.img
2018-10-27 17:39:24 ..... 253808 238377 preloader_ufs.img
2018-10-27 17:39:24 ..... 777 328 scatter.txt
2018-10-27 17:39:24 ..... 560640 183660 scp.img
2018-10-27 17:39:24 ..... 56256 33232 spmfw.img
2018-10-27 17:39:24 ..... 435072 429458 sspm.img
2018-10-27 17:39:24 ..... 1664413241 1660041841 system.new.dat.br
2018-10-27 17:39:24 ..... 21968 18150 system.transfer.list
2018-10-27 17:39:24 ..... 482096 430718 tee.img
2018-10-27 17:39:24 ..... 8272 3271 vbmeta.img
2018-10-27 17:39:24 ..... 313724176 313383587 vendor.new.dat.br
2018-10-27 17:39:24 ..... 7664 3846 vendor.transfer.list
2018-10-27 17:39:24 ..... 1424 988 META-INF/com/android/otacert
2018-10-27 17:39:24 ..... 1928 907 META-INF/MANIFEST.MF
2018-10-27 17:39:24 ..... 2224 984 META-INF/CERT.SF
2018-10-27 17:39:24 ..... 1522 1138 META-INF/CERT.RSA
------------------- ----- ------------ ------------ ------------------------
2018-10-27 17:39:24 2083776381 2026632373 30 files
mint@debian ~/src/oppo_ozip_decrypt-master $ python3.7 ozipdecrypt.py /media/mint/5E7B7301488C5437/Downloads/RMX1941EX_11_OTA_0100_all_6Tw0LV9IfSI3.ozip
ozipdecrypt 0.3 (c) B.Kerler 2017-2019
Traceback (most recent call last):
File "ozipdecrypt.py", line 74, in <module>
main()
File "ozipdecrypt.py", line 48, in main
magic=fr.read(12).decode()
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 10-11: unexpected end of data
mint@debian ~/src/oppo_ozip_decrypt-master $

also, i would ask you if it is possible to add the Realme C2 after i provided the libapplypatch_jni.so

ofp Unpack

How does .ofp unpack?
Because I don't know how to operate

ops encrypt

can you add a repack option. i been working on unlocking the OP7P on t-mobile for couple months now. and would like to rebuild the ops to flash all at once the have a partition not encrypt during the flashing.

Unknown AES key

I am trying to extract Realme C2 ozip to zip via ** --mode 2 command but i am getting unknown aes key reverse key from recovery first error first method works but i want to extract files in zip

Key F11

Please, add a key for OPPO F11.

Can't Decrypting All Files

I've found the right aes key for Oppo A71 2018 CPH1801 with this commit 91c717d, but i got several error like this :

Traceback (most recent call last):
File "ozipdecrypt.py", line 211, in main
if zo.extract('oppo_metadata', outpath):
File "/usr/lib/python3.8/zipfile.py", line 1628, in extract
return self._extract_member(member, path, pwd)
File "/usr/lib/python3.8/zipfile.py", line 1667, in _extract_member
member = self.getinfo(member)
File "/usr/lib/python3.8/zipfile.py", line 1439, in getinfo
raise KeyError(
KeyError: "There is no item named 'oppo_metadata' in the archive"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.8/shutil.py", line 781, in move
os.rename(src, real_dst)
OSError: [Errno 26] Text file busy: 'temp/META-INF/CERT.RSA' -> 'out/CERT.RSA'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "ozipdecrypt.py", line 257, in
main()
File "ozipdecrypt.py", line 217, in main
mode2(filename)
File "ozipdecrypt.py", line 161, in mode2
shutil.move(rfilename, wfilename)
File "/usr/lib/python3.8/shutil.py", line 796, in move
os.unlink(src)
OSError: [Errno 26] Text file busy: 'temp/META-INF/CERT.RSA'

oppo A5: "There is no item named 'oppo_metadata' in the archive"

`$ python3 ozipdecrypt.py '/media/kwaiching/9EC1B7A5700DC5DD/Android/AndroidRom/OPPO/OppoA5_q_450B/01Rom/tmp/PBBM30_11_OTA_0270_all_YfsPyB6OXxjg.ozip'
ozipdecrypt 1.1 (c) B.Kerler 2017-2020
Detected mode 2....
Extracting /media/kwaiching/9EC1B7A5700DC5DD/Android/AndroidRom/OPPO/OppoA5_q_450B/01Rom/tmp/PBBM30_11_OTA_0270_all_YfsPyB6OXxjg.ozip
Traceback (most recent call last):
File "ozipdecrypt.py", line 245, in main
if zo.extract('oppo_metadata', outpath):
File "/usr/lib/python3.8/zipfile.py", line 1630, in extract
return self._extract_member(member, path, pwd)
File "/usr/lib/python3.8/zipfile.py", line 1669, in _extract_member
member = self.getinfo(member)
File "/usr/lib/python3.8/zipfile.py", line 1441, in getinfo
raise KeyError(
KeyError: "There is no item named 'oppo_metadata' in the archive"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "ozipdecrypt.py", line 292, in
main()
File "ozipdecrypt.py", line 251, in main
mode2(filename)
File "ozipdecrypt.py", line 168, in mode2
zipObj.extractall(temp)
File "/usr/lib/python3.8/zipfile.py", line 1647, in extractall
self._extract_member(zipinfo, path, pwd)
File "/usr/lib/python3.8/zipfile.py", line 1701, in _extract_member
open(targetpath, "wb") as target:
OSError: [Errno 22] Invalid argument: '/media/kwaiching/9EC1B7A5700DC5DD/Android/AndroidRom/OPPO/OppoA5_q_450B/01Rom/tmp/temp/vendor/firmware/emmc/HYNIX-hB8aP>.bin_crc.bin'
`

CPH1909 key incorrect?

I am trying to decrypt "CPH1909EX_11_OTA_0280_all_IFSiSfZdD2zH.ozip"
From here: https://oppo-ph.custhelp.com/app/software_update_detail/p_name/A5s

However the script says unknown AES key, despite there being CPH1909 key in the script.

Edit: I reverted to an older (the first 1909) commit and it worked. So I think something was broken recently.

Edit 2: reverting this in keytest: fixes it
Working line:
elif (dat[0:4] == b'\x41\x4E\x44\x52'):
Not working line:
elif (dat[0:4] == b'\x41\x56\x42\x30'):

Failed to find aes key for Reno Z (CPH1979 or PCDM10)

I tried to find aes key, using "/sbin/recovery" from extracted cpio.
(Btw, I can't find /vendor/lib64/libapplypatch_jni.so or anything like it in file system)

But it looks oppo no longer hard-coded 'realkey' while using AES_set_decrypt_key.
Any thoughts on how to trace this down?
Here's the /sbin/recovery file:
recovery.zip

Could you add Reno 3 keys?

python3 ozipdecrypt.py PCRM00_11_OTA_0170_all_Oizyq2fEuRK8.ozip
ozipdecrypt 0.5 (c) B.Kerler 2017-2019
Unknown AES key, reverse key from recovery first!

Realme X2 EU RMX1993EX

Hi,
iam trying to extract the key from a realme x2 ozip.
No way.
The key is not inside the script.
You write that the X2 Pro key is the same as from X.
But what about the key from X2?
Please help.
Big thanks.

Decrypted as folder

On decrypting I got a folder containing various files. So should I just compress it and flash it?

Please help me find Oppo A71 2018 CPH1801 AES Key

So i've been following tutorial for aes key extraction and i find all key from libapplypatch_jni.so (stock rom), here are the key that i find :

d6dccf0ad5acd4e0292e522db7c1381e (mnkey)
d6eecf0ae5acd4e0e9fe522de7ce381e (mkey)
d6eccf0ae5acd4e0e92e522de7c1381e (userkey)
12341eaac4c123ce193556a1bbcc232d (realkey)
d7dcce1ad4afdce2393e5161cbdc4321 (testkey)
d6dccf0ad5acd4e0292e522db7c1381e (utilkey)

Then i fit all key that i find to ozipdecrypt script but i get "Unknown AES key, reverse key from recovery first!" result, i try to extract the key from libapplypatch_jni.so (ofp file) but the result is same.
Please help me find the correct aes key

Prerequirement oppo decrypt .ozip

maybe I just added a suggestion prerequirement oppo decrypt.ozip

  1. Use only python 3.6 (i used other version something said error)
  2. 'pip install pycrypto' is not available, change to "pip install pycryptodome'

OTA decrypt all files inside ozip into folder preserving file names

there are encrypted files inside OTA zip we need to decrypt preserving original file names, for example

boot.img
dtbo.img
lk.img
md1img.img
preloader.img
preloader_emmc.img
preloader_ufs.img
scp.img
spmfw.img
sspm.img
system.transfer.list
tee.img
vbmeta.img
vendor.transfer.list

test file: CPH1923EX_11_OTA_0210_all_8ZST9Bo4YLwc.ozip
AES key: "1c4411a3a12533ae441b21bb31613c11", #A1k CPH1923
edit: (key might wrong)
/sbin/recovery: CPH1923_11_A.16_190430_88a6e79d_recovery_bin.zip
(extracted from full rom: CPH1923_11_A.16_190430_88a6e79d.ofp)

Unencrypted doubt

@bkerler
I have a Realme C12 RMX2189, which ozip has PK as its header.

I think it is not encrypted right?
I have extracted with unzip and with your script.
All the files are exactly same in both(compared sha1).

Since it is not an issue, I am closing it.

Whatsapps how much

How much is your whatsAPP number, I hope I can add you to discuss a problem with you.

ozipdecrypt on realme ui

C:\Users\COMPUTER 1\AppData\Local\Programs\Python\Python36>python ozipdecrypt.py RMX1821EX_11_OTA_1100_all_GQu4ppXhf2JQ.ozip
Traceback (most recent call last):
File "ozipdecrypt.py", line 12, in
from docopt import docopt
ModuleNotFoundError: No module named 'docopt'

C:\Users\COMPUTER 1\AppData\Local\Programs\Python\Python36>

issue while decyptozip on realme ui (based color os 7.0),, but it always work on color os 6.0 base.. any help? thanks

Description keys

D1DACF24351CE428A9CE32ED87323216,#Realme1(reserved)
A1CC75115CAECB890E4A563CA1AC67C8,#A73(reserved)
2132321EA2CA86621A11241ABA512722 #Realme3(reserved)

result zip file only 42 mo

result zip file only 42 mo

:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master>python ozipdecrypt.py CPH2179EU_11_OTA_0140_all.ozip
ozipdecrypt 1.3 (c) B.Kerler 2017-2021
Found correct AES key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Extracting compatibility.zip
Extracting oppo_engineering.new.dat.br
Extracting oppo_engineering.patch.dat
Extracting oppo_product.patch.dat
Extracting system.patch.dat
Extracting type.txt
Extracting vendor.patch.dat
Extracting version.20271.patch.dat
Extracting version.20272.patch.dat
Extracting version.20273.patch.dat
Extracting version.20274.patch.dat
Extracting version.2027A.patch.dat
Extracting version.2027B.patch.dat
Extracting version.2027C.patch.dat
Extracting version.2027D.patch.dat
Extracting version.2027E.new.dat.br
Extracting version.2027E.patch.dat
Extracting version.202A1.patch.dat
Extracting version.202A2.patch.dat
Extracting version.202A3.patch.dat
Extracting META-INF/com/android/metadata
Extracting META-INF/com/google/android/update-binary
Extracting META-INF/com/google/android/updater-script
Extracting boot.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting cdt_engineering.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting dtbo.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting dynamic_partitions_op_list
Extracting lk.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting md1img.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting oppo_engineering.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting oppo_metadata
Extracting oppo_operate_data.sh
Extracting oppo_product.new.dat.br
Extracting oppo_product.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting oppo_update_script.sh
Extracting preloader.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting preloader_emmc.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting preloader_ufs.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting scatter.txt
Extracting scp.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting spmfw.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting sspm.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting system.new.dat.br
Extracting system.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting tee.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting vbmeta.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting vbmeta_system.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting vbmeta_vendor.img
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting vendor.new.dat.br
Extracting vendor.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting version.20271.new.dat.br
Extracting version.20271.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting version.20272.new.dat.br
Extracting version.20272.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting version.20273.new.dat.br
Extracting version.20273.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting version.20274.new.dat.br
Extracting version.20274.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting version.2027A.new.dat.br
Extracting version.2027A.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting version.2027B.new.dat.br
Extracting version.2027B.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting version.2027C.new.dat.br
Extracting version.2027C.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting version.2027D.new.dat.br
Extracting version.2027D.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting version.2027E.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting version.202A1.new.dat.br
Extracting version.202A1.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting version.202A2.new.dat.br
Extracting version.202A2.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting version.202A3.new.dat.br
Extracting version.202A3.transfer.list
Decrypting C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\tmp\out
Extracting META-INF/com/android/otacert
Extracting META-INF/MANIFEST.MF
Extracting META-INF/CERT.SF
Extracting META-INF/CERT.RSA
DONE... files decrypted to: C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master\CPH2179EU_11_OTA_0140_all.zip

C:\Users\Administrateur\Desktop\wOZIP2ZIP\oppo_ozip_decrypt-master>

Realme XT and ofp_libextract.py

I tried to extract libapplypatch_jni.so with ofp_libextract.py however I did not get any libapplypatch_jni.so. On successful run, I got 108 recovery.cpio.gz (recovery1.cpio.gz - recovery108.cpio.gz)

one fine is of 24.2 MB, 13 files between 1- 10 MB, rest in KBs. I have checked in Ghidra but unable to get aes_decrypt functions in any of the file sizes in MBs. Am I doing anything wrong?

CPH1803 OppoA3s & CPH1909 OppoA5s keys is correct! but... it can't properly extract!

ok iwill share the AES keys CPH1803 OppoA3s and A5s
i already figure out how this firmware decrypt and encrypt in this two oppo but i just dont know how to create a script. :(

14C2CD6214CFDC2733AE81B22BC1462C =CPH1803 OppoA3s
1CA21E12271435AE331B81BBA7C14612 = CPH1909 OppoA5s

in oppo a3s ota.zip is a regular zip file but every file inside ota is encrypted which is in offset 0x50 and 0x4050 after i manage to decrypt the line it will reveal the correct binary data

for example in boot.img in CPH1803 OppoA3s
in offset
0x50 4E 21 FE AA BF F0 56 32 B5 06 85 B7 6C 3E 65 5F
after decrypt the line reveal the
0x50 41 4E 44 52 4F 49 44 21 3B 9F B0 00 00 80 00 80 ANDROID!

and in modem.img offset
0x50 74 52 D8 7B 93 04 5B ED 9E 59 F4 75 4F D4 63 65
0x4050 19 2A 06 CC 6E 68 AD 9B AD 6C 74 CB FA 83 AC 4F

after decrypt
0x50 EB 3C 90 4D 53 44 4F 53 35 2E 30 00 02 20 01 00 <�MSDOS5.0
0x4050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
than means the aes key used was correct

can you create a script to auto patch the encrypted offset to decrypt the specific line and delete the the first 0x0 offset up to from 0x50 wich is the OPPOENCRYPT! upto the beginning of the encrypted offset. of each extracted file??

CPH1803 A3s
OTA File
http://downloads.oppo.com.s3.amazonaws.com/firmware/CPH1803/CPH1803EX_11_OTA_0240_all_y9VVWBYOdndL.ozip

boot.img
http://www.mediafire.com/file/e3q4d6bzsqi17wg/boot.img/file
modem.img
http://www.mediafire.com/file/ui5tsblwpfhdw6t/modem.img/file

Can't decrypt Reno OZIP

just extracted the key, but when I tried to decrypt Reno's OTA ozip, it raised an error:

E:\test\oppo_ozip_decrypt-master>c:\Python37-32\python.exe ozipdecrypt.py CPH1917EX_11_OTA_0080_all_GWbhnkTy2RvI.ozip
ozipdecrypt 0.4 (c) B.Kerler 2017-2019
Found correct AES key: ACAC1E13A12531AE4A1B21BB31C13C21
Decrypting...
Traceback (most recent call last):
  File "ozipdecrypt.py", line 97, in <module>
    main()
  File "ozipdecrypt.py", line 77, in main
    wf.write(ctx.decrypt(data))
  File "c:\Python37-32\lib\site-packages\Crypto\Cipher\_mode_ecb.py", line 195, in decrypt
    raise ValueError("Data must be aligned to block boundary in ECB mode")
ValueError: Data must be aligned to block boundary in ECB mode

ozip file size is 3,008,799,799 bytes.
dec file size is 3,008,790,528 bytes.

It seems that it uses different file structure for new systems: https://oppo-au.custhelp.com/app/software_update_detail/p_name/Reno

it seems to have standard zip file structure with encrypted data.

( tag #9 , moved comments to this issue )

> Solved with commit di crypt

Solved with commit 844e75d

still having issue in windows:

ozipdecrypt 0.5 (c) B.Kerler 2017-2019
Extracting RMX1941EX_11_OTA_0100_all_6Tw0LV9IfSI3.ozip
Found correct AES key: acac1e13a72531ae4a1b22bb31c1cc22
Traceback (most recent call last):
  File "ozipdecrypt.py", line 151, in <module>
    main()
  File "ozipdecrypt.py", line 123, in main
    with open(wfilename,'wb') as wf:
FileNotFoundError: [Errno 2] No such file or directory: 'out/temp\\boot.img'

Originally posted by @roytam1 in #13 (comment)

Boot.

Screenshot_2020-01-01-13-56-57-88_84d3000e3f4017145260f7618db1d683
Help me... Im try to decrypt boot.img on oppo k3, but this result..,. Why? Im decrypt .ozip stockrom k3 is success.

Problem decrypting ozip

My device is Realme 3 pro. I was trying to decrypt ozip (https://download.c.realme.com/osupdate/RMX1851EX_11_OTA_0120_all_L6ZahEviNKID.ozip) but /vendor/lib64/libapplypatch_jni.so does not exist in the device.

List of files in /vendor

/vendor:
app
bin
bt_firmware
dsp
etc
firmware_mnt
lib
lib64
lost+found
oppo
overlay
radio
rfs

/vendor/app:
ConnectionSecurityService
PowerOffAlarm
RfToolkit
SSGTelemetryService
TimeService
TrustZoneAccessService

/vendor/app/ConnectionSecurityService:
ConnectionSecurityService.apk

/vendor/app/PowerOffAlarm:
PowerOffAlarm.apk

/vendor/app/RfToolkit:
RfToolkit.apk
lib

/vendor/app/RfToolkit/lib:
arm64

/vendor/app/RfToolkit/lib/arm64:
libnativehelpers.so
liboddi.so
librftoolkit.so

/vendor/app/SSGTelemetryService:
SSGTelemetryService.apk

/vendor/app/TimeService:
TimeService.apk

/vendor/app/TrustZoneAccessService:
TrustZoneAccessService.apk

/vendor/bin:
acpi
base64
basename
blockdev
cal
cat
chcon
chgrp
chmod
chown
chroot
chrt
cksum
clear
cmp
comm
cp
cpio
cut
date
dd
df
diff
dirname
dmesg
dos2unix
du
echo
egrep
env
expand
expr
fallocate
false
fgrep
file
find
flock
fmt
free
getenforce
getevent
getprop
groups
gunzip
gzip
head
hostname
hw
hwclock
id
ifconfig
inotifyd
insmod
ionice
iorenice
kill
killall
ln
load_policy
log
logname
losetup
ls
lsmod
lsof
lspci
lsusb
md5sum
microcom
mkdir
mkfifo
mknod
mkswap
mktemp
modinfo
modprobe
more
mount
mountpoint
mv
netstat
newfs_msdos
nice
nl
nohup
od
paste
patch
pgrep
pidof
pkill
pmap
printenv
printf
ps
pwd
qmi-framework-tests
readlink
realpath
renice
restorecon
rm
rmdir
rmmod
runcon
sed
sendevent
seq
setenforce
setprop
setsid
sha1sum
sha224sum
sha256sum
sha384sum
sha512sum
sleep
sort
split
start
stat
stop
strings
stty
swapoff
swapon
sync
sysctl
tac
tail
tar
taskset
tee
time
timeout
top
touch
tr
true
truncate
tty
ulimit
umount
uname
uniq
unix2dos
uptime
usleep
uudecode
uuencode
vmstat
wc
which
whoami
xargs
xxd
yes
zcat

/vendor/bin/hw:

/vendor/bin/qmi-framework-tests:

/vendor/dsp:
adsp
cdsp
lost+found

/vendor/dsp/adsp:
AlacDecoderModule.so.1
ApeDecoderModule.so.1
AudioSphereModule.so.1
CFCMModule.so.1
CeltModule.so.1
EtsiAmrWbPlusDecModule.so.1
EtsiEaacPlusEncAndCmnModule.so.1
FlacDecoderModule.so.1
HeaacDecoderModule.so.1
LdacModule.so.1
MIC2AMBModule.so.1
SAPlusCmnModule.so.1
VorbisDecoderModule.so.1
WmaProDecoderModule.so.1
WmaStdDecoderModule.so.1
cellinfo_tools.so
chre_app_coverage.so
chre_app_coverage2.so
chre_app_oem.so
chre_app_sensor_cfg.so
chre_drv_bt.so
chre_drv_gf.so
chre_drv_loc.so
chre_drv_modem.so
chre_drv_wifi.so
chre_pal.so
fastrpc_shell_0
fluence_voiceplus_module.so.1
hbtpcfg_sdm670_800h_qhd.dat
hbtpcfg_sdm670_800s_fhd.dat
hbtpcfg_sdm670_801s_qhd.dat
libFastRPC_UTF_Forward_skel.so
libFastRPC_UTF_Forward_skel_pkt.so
libchre_slpi_skel.so
libstabilitydomain_skel.so
libsysmon_skel.so
libsysmondomain_skel.so
lowi_client.so
map_AVS_SHARED_LIBS_670.adsp.prodQ.txt
map_CHRE_SHARED_LIBS_670.adsp.prodQ.txt
map_SHARED_LIBS_670.adsp.prodQ.txt
mmecns_module.so.1
qtc800h.bin
qtc800s_dsp.bin
qtc801s.bin
sensor_testapp_40.so

/vendor/dsp/cdsp:
fastrpc_shell_3
libbenchmark_skel.so
libhcp_rpc_skel.so
libstabilitydomain_skel.so
libsysmon_skel.so
libsysmondomain_skel.so
libsysmonhvxthrottle_skel.so
libvpp_aie.so
libvpp_diagtools.so
libvpp_frc.so
libvpp_mvp.so
libvpp_nr.so
libvpp_qbr.so
libvpp_svc_skel.so
map_SHARED_LIBS_670.cdsp.prodQ.txt
ubwcdma_dynlib.so

/vendor/etc:
18041
18081
18097
18181
18385
18397
18621
IPACM_cfg.xml
M_Liveness_Antispoofing_General_full_snpe.model
M_Verify_MimicRes_Common_snpe.model
NOTICE.xml.gz
OPPO_OLED_AD_calib.cfg
a2dp_audio_policy_configuration.xml
acdbdata
apdr.conf
asd
audio
audio_effects.conf
audio_effects.xml
audio_output_policy.conf
audio_platform_info.xml
audio_platform_info_i2s.xml
audio_platform_info_intcodec.xml
audio_platform_info_oppo.xml
audio_platform_info_oppo_int_codec.xml
audio_platform_info_skuw.xml
audio_policy_configuration.xml
audio_policy_volumes.xml
audio_tuning_mixer.txt
audio_tuning_mixer_tasha.txt
audio_tuning_mixer_tavil.txt
camera
cne
data
default_volume_tables.xml
dirac
facepp
flp.conf
fs_config_dirs
fs_config_files
fstab-wlan.qcom
fstab.qcom
ftm_test_config
ftm_test_config_sdm710-skuw-snd-card
ftm_test_config_sdm710-tasha-snd-card
ftm_test_config_sdm710-tavil-snd-card
gpfspath_oem_config.xml
gps.conf
graphite_ipc_platform_info.xml
group
init
izat.conf
license.lic
listen_platform_info.xml
lm
media_codecs.xml
media_codecs_ffmpeg.xml
media_codecs_google_audio.xml
media_codecs_google_telephony.xml
media_codecs_google_video.xml
media_codecs_google_video_le.xml
media_codecs_oppo_performance.xml
media_codecs_oppo_video.xml
media_codecs_performance.xml
media_codecs_performance_sdm710_v0.xml
media_codecs_sdm710_v0.xml
media_codecs_vendor.xml
media_codecs_vendor_audio.xml
media_profiles.xml
media_profiles_V1_0.xml
media_profiles_vendor.xml
mixer_paths.xml
mixer_paths_18621.xml
mixer_paths_360cam.xml
mixer_paths_i2s.xml
mixer_paths_mtp.xml
mixer_paths_skuw.xml
mixer_paths_tasha.xml
mixer_paths_tashalite.xml
mixer_paths_tavil.xml
mkshrc
msm_irqbalance.conf
passwd
perf
permissions
powerhint.xml
project_info.txt
public.libraries.txt
qdcm_calib_data_Dual_nt35597_video_mode_dsi_truly_panel_without_DSC.xml
qdcm_calib_data_nt35597_cmd_mode_dsi_truly_panel_with_DSC.xml
qdcm_calib_data_oppo18081samsung_ams641rw01_1080_2340_cmd_mode_dsi_panel.xml
qdcm_calib_data_oppo18621_hx83112a_1080_2340_video_mode_dsi_panel.xml
qti_fp
r_submix_audio_policy_configuration.xml
sap.conf
scve
sec_config
seccomp_policy
security
self_init_config
selinux
sensors
sound_trigger_mixer_paths.xml
sound_trigger_mixer_paths_skuw.xml
sound_trigger_mixer_paths_wcd9335.xml
sound_trigger_mixer_paths_wcd9340.xml
sound_trigger_platform_info.xml
system_properties.xml
thermal-engine.conf
usb_audio_policy_configuration.xml
vintf
wifi
xtwifi.conf

/vendor/etc/18041:
audio_policy_configuration.xml
audio_policy_volumes.xml
default_volume_tables.xml

/vendor/etc/18081:
audio_policy_configuration.xml
audio_policy_volumes.xml
default_volume_tables.xml

/vendor/etc/18097:
audio_policy_configuration.xml
audio_policy_volumes.xml
default_volume_tables.xml

/vendor/etc/18181:
audio_policy_configuration.xml
audio_policy_volumes.xml
default_volume_tables.xml

/vendor/etc/18385:
audio_policy_configuration.xml
audio_policy_volumes.xml
default_volume_tables.xml

/vendor/etc/18397:
audio_policy_configuration.xml
audio_policy_volumes.xml
default_volume_tables.xml

/vendor/etc/18621:
audio_policy_configuration.xml
audio_policy_volumes.xml
default_volume_tables.xml

/vendor/etc/acdbdata:
18621
MTP
QRD
adsp_avs_config.acdb

/vendor/etc/acdbdata/18621:
Bluetooth_cal.acdb
General_cal.acdb
Global_cal.acdb
Handset_cal.acdb
Hdmi_cal.acdb
Headset_cal.acdb
Speaker_cal.acdb

/vendor/etc/acdbdata/MTP:
MTP_Bluetooth_cal.acdb
MTP_General_cal.acdb
MTP_Global_cal.acdb
MTP_Handset_cal.acdb
MTP_Hdmi_cal.acdb
MTP_Headset_cal.acdb
MTP_Speaker_cal.acdb
MTP_workspaceFile.qwsp
sdm670-tasha-snd-card
sdm670-tavil-snd-card

/vendor/etc/acdbdata/MTP/sdm670-tasha-snd-card:
MTP_WCD9335_Bluetooth_cal.acdb
MTP_WCD9335_General_cal.acdb
MTP_WCD9335_Global_cal.acdb
MTP_WCD9335_Handset_cal.acdb
MTP_WCD9335_Hdmi_cal.acdb
MTP_WCD9335_Headset_cal.acdb
MTP_WCD9335_Speaker_cal.acdb
MTP_WCD9335_workspaceFile.qwsp

/vendor/etc/acdbdata/MTP/sdm670-tavil-snd-card:
MTP_WCD9340_Bluetooth_cal.acdb
MTP_WCD9340_Codec_cal.acdb
MTP_WCD9340_General_cal.acdb
MTP_WCD9340_Global_cal.acdb
MTP_WCD9340_Handset_cal.acdb
MTP_WCD9340_Hdmi_cal.acdb
MTP_WCD9340_Headset_cal.acdb
MTP_WCD9340_Speaker_cal.acdb
MTP_WCD9340_workspaceFile.qwsp

/vendor/etc/acdbdata/QRD:
sdm670-skuw-snd-card

/vendor/etc/acdbdata/QRD/sdm670-skuw-snd-card:
QRD_SKUW_Bluetooth_cal.acdb
QRD_SKUW_General_cal.acdb
QRD_SKUW_Global_cal.acdb
QRD_SKUW_Handset_cal.acdb
QRD_SKUW_Hdmi_cal.acdb
QRD_SKUW_Headset_cal.acdb
QRD_SKUW_Speaker_cal.acdb
QRD_SKUW_workspaceFile.qwsp

/vendor/etc/asd:
class.dlc
detect.dlc

/vendor/etc/audio:
audio_policy_configuration.xml

/vendor/etc/camera:
Charming.cng
M_Verify_Faster_Common_4.0.0_wp.model
attribute.model
faceTpl0.rgb32
faceTpl1.rgb32
gasryuv.model
license.lic
oppo_camera_config.xml
skinSeg.model
vidhance_calibration

/vendor/etc/cne:
wqeclient

/vendor/etc/cne/wqeclient:
ATT
ROW
VZW

/vendor/etc/cne/wqeclient/ATT:
ATT_profile1.xml
ATT_profile2.xml
ATT_profile3.xml
ATT_profile4.xml
ATT_profile5.xml
ATT_profile6.xml

/vendor/etc/cne/wqeclient/ROW:
ROW_profile1.xml
ROW_profile15.xml
ROW_profile16.xml
ROW_profile17.xml
ROW_profile18.xml
ROW_profile19.xml
ROW_profile2.xml
ROW_profile20.xml
ROW_profile21.xml
ROW_profile3.xml
ROW_profile32.xml
ROW_profile4.xml
ROW_profile5.xml
ROW_profile6.xml
ROW_profile7.xml

/vendor/etc/cne/wqeclient/VZW:
VZW_profile1.xml
VZW_profile2.xml
VZW_profile3.xml
VZW_profile4.xml
VZW_profile5.xml
VZW_profile6.xml

/vendor/etc/data:
dsi_config.xml
netmgr_config.xml

/vendor/etc/dirac:
diracvdd.bin

/vendor/etc/facepp:
algo_cache_sdm710
human_model_image
opencl_model_cache_sdm710
relight

/vendor/etc/init:
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
hostapd.android.rc
hw
init.qti.fm.rc
init_qfp_daemon.rc
manifest_sku.rc
qcrild.rc
self-init.rc
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
vendor.oppo.hardware.camera.oppoAlgoProcessService@1.0-service.rc
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
vendor_engineermode.rc
vendor_transfer.rc
vndservicemanager.rc

/vendor/etc/init/hw:
init.msm.usb.configfs.rc
init.oppo.debug.diag.rc
init.oppo.reserve.rc
init.oppo.sensor.rc
init.oppo.vendor.fingerprint.rc
init.oppo.vendor.motor.rc
init.qcom.factory.rc
init.qcom.rc
init.qcom.usb.rc
init.target.rc
init.wlan.qcom.rc
init.wlan.target.rc

/vendor/etc/lm:
AdaptLaunchFeature.xml

/vendor/etc/perf:
commonresourceconfigs.xml
perfboostsconfig.xml
targetconfig.xml
targetresourceconfigs.xml

/vendor/etc/permissions:
android.hardware.bluetooth.xml
android.hardware.bluetooth_le.xml
android.hardware.camera.flash-autofocus.xml
android.hardware.camera.front.xml
android.hardware.camera.full.xml
android.hardware.camera.raw.xml
android.hardware.light.xml
android.hardware.location.gps.xml
android.hardware.opengles.aep.xml
android.hardware.sensor.accelerometer.xml
android.hardware.sensor.ambient_temperature.xml
android.hardware.sensor.barometer.xml
android.hardware.sensor.compass.xml
android.hardware.sensor.gyroscope.xml
android.hardware.sensor.hifi_sensors.xml
android.hardware.sensor.light.xml
android.hardware.sensor.proximity.xml
android.hardware.sensor.relative_humidity.xml
android.hardware.sensor.stepcounter.xml
android.hardware.sensor.stepdetector.xml
android.hardware.telephony.cdma.xml
android.hardware.telephony.gsm.xml
android.hardware.touchscreen.multitouch.jazzhand.xml
android.hardware.usb.accessory.xml
android.hardware.usb.host.xml
android.hardware.vulkan.compute-0.xml
android.hardware.vulkan.level-1.xml
android.hardware.vulkan.version-1_1.xml
android.hardware.wifi.direct.xml
android.hardware.wifi.xml
android.software.midi.xml
android.software.sip.voip.xml
handheld_core_hardware.xml
qti_fingerprint_interface.xml
vendor-oppo-engnative-engineer.xml
vendor-oppo-hardware.biometrics.fingerprintpay.xml
vendor-oppo-hardware.cryptoeng.xml
vendor-qti-hardware-sensorscalibrate.xml
vendor.qti.hardware.factory.xml

/vendor/etc/qti_fp:
image_quality
wakeup

/vendor/etc/qti_fp/image_quality:
templates

/vendor/etc/qti_fp/image_quality/templates:
double_fan_target_3_6
double_fan_target_4_2
fan_target
slanted_target

/vendor/etc/qti_fp/image_quality/templates/double_fan_target_3_6:
template1.pgm
template2.pgm
template3.pgm
template4.pgm

/vendor/etc/qti_fp/image_quality/templates/double_fan_target_4_2:
template1.pgm
template2.pgm
template3.pgm
template4.pgm

/vendor/etc/qti_fp/image_quality/templates/fan_target:
template1.pgm
template2.pgm
template3.pgm
template4.pgm

/vendor/etc/qti_fp/image_quality/templates/slanted_target:
template1.pgm
template2.pgm
template3.pgm
template4.pgm

/vendor/etc/qti_fp/wakeup:
templates

/vendor/etc/qti_fp/wakeup/templates:
template_imaginary.bin
template_real.bin

/vendor/etc/scve:
facereco

/vendor/etc/scve/facereco:
gModel.dat

/vendor/etc/seccomp_policy:
[email protected]
mediacodec.policy
mediaextractor.policy

/vendor/etc/security:
ck.fs
pl.fs

/vendor/etc/self_init_config:
common

/vendor/etc/self_init_config/common:
self_init_config.xml

/vendor/etc/selinux:
plat_pub_versioned.cil
plat_pub_versioned_debug.cil
plat_sepolicy_vers.txt
precompiled_sepolicy
precompiled_sepolicy.plat_and_mapping.sha256
precompiled_sepolicy_debug
precompiled_sepolicy_debug.plat_and_mapping.sha256
vendor_file_contexts
vendor_hwservice_contexts
vendor_mac_permissions.xml
vendor_property_contexts
vendor_seapp_contexts
vendor_sepolicy.cil
vendor_sepolicy_debug.cil
vndservice_contexts

/vendor/etc/sensors:
config
hals.conf
sns_reg_config

/vendor/etc/sensors/config:
ak991x_dri_0.json
bmi160_0.json
default_sensors.json
devinfo_0.json
icp101xx_0.json
mmc5603nj_0.json
sdm710_ak991x_0.json
sdm710_bmi160_0.json
sdm710_irq.json
sdm710_mmc5603nj_0.json
sdm710_power_0.json
sdm710_stk3x3x_0.json
sdm710_tsl2540_0.json
sns_amd.json
sns_amd_sw_disabled.json
sns_amd_sw_enabled.json
sns_aont.json
sns_basic_gestures.json
sns_ccd.json
sns_cm.json
sns_dae.json
sns_device_orient.json
sns_diag_filter.json
sns_distance_bound.json
sns_dpc.json
sns_facing.json
sns_fmv.json
sns_geomag_rv.json
sns_gyro_cal.json
sns_mag_cal.json
sns_multishake.json
sns_pedometer.json
sns_rmd.json
sns_rotv.json
sns_smd.json
sns_tilt.json
sns_tilt_sw_disabled.json
sns_tilt_sw_enabled.json
sns_tilt_to_wake.json
stk3x3x_0.json
tsl2540_0.json

/vendor/etc/vintf:
compatibility_matrix.xml
manifest.xml

/vendor/etc/wifi:
WCNSS_qcom_cfg.ini
WCNSS_qcom_cfg_cmcc.ini
aoa_cldb_falcon.bin
aoa_cldb_swl14.bin
bdwlan_18041_id1.bin
bdwlan_18081_id1.bin
bdwlan_18081_id2.bin
bdwlan_18081_id3.bin
bdwlan_18081_id4.bin
bdwlan_18097_id1.bin
bdwlan_18097_id2.bin
bdwlan_18181_id1.bin
bdwlan_18181_id2.bin
bdwlan_18181_id3.bin
bdwlan_18181_id4.bin
bdwlan_18381_id1.bin
bdwlan_18381_id2.bin
bdwlan_18381_id3.bin
bdwlan_18381_id4.bin
bdwlan_18385_id1.bin
bdwlan_18385_id2.bin
bdwlan_18385_id3.bin
bdwlan_18385_id4.bin
bdwlan_18397_id1.bin
bdwlan_18539.bin
bdwlan_18621_id1.bin
bdwlan_18621_id1_mp.bin
bdwlan_18621_id2.bin
bdwlan_18621_id2_mp.bin
bdwlan_18621_id3.bin
bdwlan_18621_id3_mp.bin
bdwlan_18621_id4.bin
bdwlan_18621_id4_mp.bin
bdwlan_18621_id5.bin
bdwlan_18621_id5_mp.bin
bdwlan_18637.bin
bdwlan_18637_mp.bin
bdwlan_18638.bin
bdwlan_18638_mp.bin
bin_version
bin_version_realme
fstman.ini
p2p_supplicant_overlay.conf
sar-vendor-cmd.xml
wifi_concurrency_cfg.txt
wigig_p2p_supplicant.conf
wigig_supplicant.conf
wpa_supplicant.conf
wpa_supplicant_overlay.conf

/vendor/lib:
camera
dsp
egl
hw
libCB.so
libEGL_adreno.so
libGLESv2_adreno.so
libOpenCL.so
libOppoAPSMemMgr.so
libOppoAlgoClient.so
libRSDriver_adreno.so
libadreno_utils.so
libadsprpc.so
libbccQTI.so
libcdsprpc.so
libdiag.so
libdrm.so
libdrmutils.so
libfastcvdsp_stub.so
libfastcvopt.so
libgralloccore.so
libgrallocutils.so
libgsl.so
liblistenjni.so
liblistensoundmodel2.so
libllvm-glnext.so
libllvm-qcom.so
libnativehelpers.so
liboddi.so
libq3dtools_adreno.so
libqdMetaData.so
libqdutils.so
libqservice.so
libqti-perfd-client.so
librftoolkit.so
librs_adreno.so
librs_adreno_sha1.so
libsdsprpc.so
libtime_genoff.so
mediacas
mediadrm
modules
qcdrm
rfsa
soundfx
[email protected]
[email protected]
vndk

/vendor/lib/camera:
components

/vendor/lib/camera/components:

/vendor/lib/dsp:

/vendor/lib/egl:
eglSubDriverAndroid.so
libEGL_adreno.so
libGLESv1_CM_adreno.so
libGLESv2_adreno.so
libQTapGLES.so
libq3dtools_adreno.so
libq3dtools_esx.so

/vendor/lib/hw:
[email protected]
[email protected]
gralloc.default.so
gralloc.sdm710.so
vulkan.sdm710.so

/vendor/lib/mediacas:

/vendor/lib/mediadrm:

/vendor/lib/modules:

/vendor/lib/qcdrm:
playready

/vendor/lib/qcdrm/playready:
lib

/vendor/lib/qcdrm/playready/lib:
mediadrm

/vendor/lib/qcdrm/playready/lib/mediadrm:

/vendor/lib/rfsa:
adsp

/vendor/lib/rfsa/adsp:

/vendor/lib/soundfx:

/vendor/lib/vndk:

/vendor/lib64:
camera
egl
hw
libCB.so
libEGL_adreno.so
libGLESv2_adreno.so
libOpenCL.so
libRSDriver_adreno.so
libadreno_utils.so
libadsprpc.so
libbccQTI.so
libcdsprpc.so
libdiag.so
libdrm.so
libdrmutils.so
libfastcvdsp_stub.so
libfastcvopt.so
libgralloccore.so
libgrallocutils.so
libgsl.so
liblistenjni.so
liblistensoundmodel2.so
libllvm-glnext.so
libllvm-qcom.so
libnativehelpers.so
liboddi.so
libq3dtools_adreno.so
libqdMetaData.so
libqdutils.so
libqservice.so
libqti-perfd-client.so
librftoolkit.so
librs_adreno.so
librs_adreno_sha1.so
libsdsprpc.so
libtime_genoff.so
mediacas
mediadrm
rfsa
soundfx
[email protected]

/vendor/lib64/camera:

/vendor/lib64/egl:
eglSubDriverAndroid.so
libEGL_adreno.so
libGLESv1_CM_adreno.so
libGLESv2_adreno.so
libQTapGLES.so
libq3dtools_adreno.so
libq3dtools_esx.so

/vendor/lib64/hw:
[email protected]
[email protected]
gralloc.default.so
gralloc.sdm710.so
vulkan.sdm710.so

/vendor/lib64/mediacas:

/vendor/lib64/mediadrm:

/vendor/lib64/rfsa:
adsp

/vendor/lib64/rfsa/adsp:

/vendor/lib64/soundfx:

/vendor/oppo:

/vendor/overlay:
BluetoothResCommon.apk
CarrierConfigResCommon.apk
CellBroadcastReceiverResCommon.apk
ChinaMobileFrameworksRes
CmccMmsRes.apk
CmccSettingsTheme
CmccSystemUIRes.apk
CtFrameworksTheme
CtNetworkSettingRes
CtSystemUITheme
DisplayCutoutEmulationCorner
DisplayCutoutEmulationDouble
DisplayCutoutEmulationTall
FrameworksResCommon.apk
FrameworksResTarget.apk
OptInAppOverlay
SystemUIResCommon.apk
SysuiDarkTheme
TelecommResCommon.apk
TelephonyResCommon.apk

/vendor/overlay/ChinaMobileFrameworksRes:
ChinaMobileFrameworksRes.apk

/vendor/overlay/CmccSettingsTheme:
CmccSettingsRes.apk

/vendor/overlay/CtFrameworksTheme:
CtFrameworksRes.apk

/vendor/overlay/CtNetworkSettingRes:
CtNetworkSettingRes.apk

/vendor/overlay/CtSystemUITheme:
CtSystemUIRes.apk

/vendor/overlay/DisplayCutoutEmulationCorner:
DisplayCutoutEmulationCornerOverlay.apk

/vendor/overlay/DisplayCutoutEmulationDouble:
DisplayCutoutEmulationDoubleOverlay.apk

/vendor/overlay/DisplayCutoutEmulationTall:
DisplayCutoutEmulationTallOverlay.apk

/vendor/overlay/OptInAppOverlay:
OptInAppOverlay.apk

/vendor/overlay/SysuiDarkTheme:
SysuiDarkThemeOverlay.apk

/vendor/radio:
qcril_database

/vendor/radio/qcril_database:
upgrade

/vendor/radio/qcril_database/upgrade:

/vendor/rfs:
apq
mdm
msm

/vendor/rfs/apq:
gnss

/vendor/rfs/apq/gnss:
hlos
ramdumps
readonly
readwrite
shared

/vendor/rfs/apq/gnss/readonly:
firmware
vendor

/vendor/rfs/apq/gnss/readonly/vendor:
firmware

/vendor/rfs/mdm:
adsp
cdsp
mpss
slpi
tn

/vendor/rfs/mdm/adsp:
hlos
ramdumps
readonly
readwrite
shared

/vendor/rfs/mdm/adsp/readonly:
firmware
vendor

/vendor/rfs/mdm/adsp/readonly/vendor:
firmware

/vendor/rfs/mdm/cdsp:
hlos
ramdumps
readonly
readwrite
shared

/vendor/rfs/mdm/cdsp/readonly:
firmware

/vendor/rfs/mdm/mpss:
hlos
ramdumps
readonly
readwrite
shared

/vendor/rfs/mdm/mpss/readonly:
firmware
vendor

/vendor/rfs/mdm/mpss/readonly/vendor:
firmware

/vendor/rfs/mdm/slpi:
hlos
ramdumps
readonly
readwrite
shared

/vendor/rfs/mdm/slpi/readonly:
firmware

/vendor/rfs/mdm/tn:
hlos
ramdumps
readonly
readwrite
shared

/vendor/rfs/mdm/tn/readonly:
firmware

/vendor/rfs/msm:
adsp
cdsp
mpss
slpi

/vendor/rfs/msm/adsp:
hlos
ramdumps
readonly
readwrite
shared

/vendor/rfs/msm/adsp/readonly:
firmware
vendor

/vendor/rfs/msm/adsp/readonly/vendor:
firmware

/vendor/rfs/msm/cdsp:
hlos
ramdumps
readonly
readwrite
shared

/vendor/rfs/msm/cdsp/readonly:
firmware
vendor

/vendor/rfs/msm/cdsp/readonly/vendor:
firmware

/vendor/rfs/msm/mpss:
hlos
ramdumps
readonly
readwrite
shared

/vendor/rfs/msm/mpss/readonly:
firmware
vendor

/vendor/rfs/msm/mpss/readonly/vendor:
firmware

/vendor/rfs/msm/slpi:
hlos
ramdumps
readonly
readwrite
shared

/vendor/rfs/msm/slpi/readonly:
firmware
vendor

/vendor/rfs/msm/slpi/readonly/vendor:
firmware

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.