yashsingh1/xdaforums huggingface dataset:
[MDA III, XDA III, PDA2k, 9090 General] avantgarde280:
ameer..

so your problem is light lcd only la..ok la 2..mine light ok but the screen no color..my friend always ask..y ur o2 doesn't have color? tahun berape punye o2..:D

but i think maybe we hv similar prob..the LCD connector pin has loose or something..

try to goncang2 n the screen also goncang..:D very funny..
[MDA III, XDA III, PDA2k, 9090 General] ammar28my:
hi bro...i think ur problem cud be the software or settings problem....

why dun u take to a pda clinic or service centre..

mine is techical problem..i think high service charges..
[MDA III, XDA III, PDA2k, 9090 General] ammar28my:
hey bro..do u want to buy 2nd hand o2 xda 11s...my fren wan sell it..price below 1k
[MDA III, XDA III, PDA2k, 9090 General] avantgarde280:
already hv..but they said screen prob..need 2 change..:)

if i yang punya kedai pun i'll said that..:D

how much he want 2 sell?
[MDA III, XDA III, PDA2k, 9090 General] ammar28my:
he say last price is rm900 with 2giga sd card....what u think?

the o2 xda 11s he used for 2 1/2 years dee
[MDA III, XDA III, PDA2k, 9090 General] avantgarde280:
that's gud..found @ mines today 2nd xda 2s RM980...btw nanti i'll recommed it among y friend
[MDA III, XDA III, PDA2k, 9090 General] ammar28my:
ok bro..i hope u tell me fast coz my fren give gud offer rm900 with 2 giga card
[MDA III, XDA III, PDA2k, 9090 General] cyberjak:
Black and white from a display is 1 of 2 places being faulty.

LCD itself ( as has small decoder ic's in the LCD module ) Or the main PCB ( mainboard ) as it has the graphics chipset on it. if all screens are black and white including boot up logo/splash, bootloder, and main windows mobile then one of those 2 are most likely at fault
[MDA III, XDA III, PDA2k, 9090 General] avantgarde280:
how do i know which one is faulty?

thnx for the reply..bt how do I know which one is faulty.

can it be fix without send it to repair ?(DIY)
[Galaxy Note 3 Themes and Apps] rahul1533:
VIPER

Here i present you Viper sound engine for all devices but

You may need Permissive kernel and androd 5.+

Here is my simple zip just flash it and enjoy..

But 1st flash Permissive kernel of your device and choice. .

NOTE :- SAMSUNG touchwiz users after or before Flashing This

MOD you need to freeze or remove SoundAlive app frome your devices

SUPPORTED DEVICE

Nexus 4,5,6,

Samsung galaxy S3,s4,s5,s6 . Note 2,3,4,5

Roms Any of your device...

This mod also work in kitkat....

DOWNLOAD

https://drive.google.com/file/d/0ByCSXdF6inyodkw2cVlNc3VJRUU/view?usp=docslist_api

https://mega.nz/#!zl5CkIaT!QsejuOHfypIlCglXQ6Y_AhqeCQHTe-toPRa_3i7Od5Q
[Galaxy Note 3 Themes and Apps] rahul1533:
For further
[Galaxy Note 3 Themes and Apps] rahul1533:
My past thread

http://xdaforums.com/showthread.php?p=63579038
[Android Software/Hacking General [Developers Only]] iamdude:
Next step is to add ability for the end user to create a chain of trust in bootloader area.

User must have the way to blow it's own public key to the SoC Qfuses/Qfprom and to sign a chain of bootloaders and activate a Secure Boot after that.

---

Sony Xperia A2 SO-04F (Japan version of Z1 Compact)
[Android Software/Hacking General [Developers Only]] phhusson:
Did someone check the second public key emplacement in Qfuses is locked?
[Android Software/Hacking General [Developers Only]] phhusson:
New piece of information about this feature, this should become widespread amongst devices.

The Android comformity document for Android M ( https://static.googleusercontent.co...com/fr//compatibility/6.0/android-6.0-cdd.pdf section 9.10) states that verified boot is mandatory.

It is/was unclear whether this document refers to https://source.android.com/security/verifiedboot/verified-boot.html, or just requires any verified boot.

But a commit in Qualcomm's bootloader gives some signs:

https://www.codeaurora.org/cgit/qui...3&id=3b6a87e4556587b3cc0c652ada680b7284d2fae7

"platform: msm_shared: update for bootloader's requirements."

It could be some overthinking, but anyway this means that all Android M-native devices will have this feature (OR be fully locked, this is allowed as well :/)

This is IMO a really great news as this means we will be able to have secure ROMs on all devices!
[Android Software/Hacking General [Developers Only]] iamdude:
How could you have a secure custom ROM if you don't have ability to blow your own key (with wich partition's hashes is signed) to a SoC Qfuses/Qfprom?

---

Sony Xperia A2 SO-04F (Japan version of Z1 Compact)
[Android Software/Hacking General [Developers Only]] phhusson:
I said it in my post. The encryption of /data is computed by the TZ and based on the public key of boot.img

I even think FRP is kept, though I don't really want to play with that
[Android Software/Hacking General [Developers Only]] ceribik:
Thanks for this.

Just a few questions (with respect to the nexus 6P):

1. Do you upload a custom keystore via "fastboot flash keystore" (nexus 6P)?

2. Will changing the key store as per (1) affect the OEM keystore (i.e. is that separate)?

3. Would you mind sharing how you made your own keystore?

- edit: found your repo https://github.com/phhusson/super-bootimg/tree/master/scripts

4. After you relock the bootloader, how are you supposed to flash a custom recovery given that there is no verified mode? My undestanding is that the stock recovery has to be in place before locking the bootloader (for data wipe to occur). Or does the locked state also use the custom keystore?

5. On a somewhat related matter, say you have no custom keystore and the boot chain is compromised so that the phone boots into the red state. Are you still able to access the android OS? I've seen conflicting information on this.
[Android Software/Hacking General [Developers Only]] phhusson:
Although the keystore partition is flashable, it is useless.

The only thing checked is the public key with which is signed the boot.img

Thus the only red state possible is because of dm-verity.

The anti-signature change is provided by the fact that data are encrypted with a key based on the public key of the boot.img

Nope. Even in CAF implementation which handles keystore, the state is different between OEM keystore and user keystore.

(Yellow in user keystore, green in oem keystore)

Though it is mostly useless. The only use is for CAF devices, with verified mode.

I haven't checked that part yet, but I don't think you need original recovery.

But yes, the no-reflashing annoys me a lot, it means a custom ROM MUST provide an OTA system.

As mentioned earlier, I'm only aware of dm-verity-based red state, which can indeed be bypassed.

I hope this answers your questions, don't hesitate to ask for more
[Android Software/Hacking General [Developers Only]] Geofferey:
Dude I really wanna pick your brain on this. It's sad I arrive late to these parties :( Anyways I have a Pixel and believe this is more relevant than ever now because verified boot is strictly enforced. I want to have a modified phone with custom ROM & locked bootloader but after flashing super TWRP/SU/EX to kernel I'm positive it breaks signing.

So my question is how can I re-sign the kernel after it had been modified by SuperSU/TWRP/EX Kernel etc? I would like to flash my own keystore.img and sign the boot.img so my phone will boot with yellow warning. Can it only be done with a full build environment at compile time or can I grab some tools, generate the keystore & sign an image that pull with dd? This is something that is very new to me & there is really no step-by-step for this that I've found.

Please forgive me for my lack of knowledge on this subject but I am desperate to have a modified kernel /system and the ability to re-lock my boatloader. I can live without the dm-verity since I have a tendency to modify system files on a regular basis anyways. I sent you a PM cause I had lost this page. If I can figure out a step by-syep process to do this that didn't require a whole build env I can probably script a tool once I know necessary commands and tools.

So far I've generated my keystore keys

1.

/make_key keystore '/C=US/ST=California/L=Long Beach/O=Android/OU=Android/CN=Android/emailAddress=myemail@gmail.com'

now I am trying to figure out the keystore image.

2.

java -Xmx512M -jar BootKeystoreSigner.jar keystore.pk8 keystore.x509.pem keystore.img
[Android Software/Hacking General [Developers Only]] gee one:
Off the top of my head, you have to add the public signing keys to the root directory of the ramdisk in the boot.img, and then sign the boot.img with the private keys.

I think the image is signed with the verity keys, and the public key has a special form for nougat/7.1/14.1, with some rounding. I think marshmallow was different. From the android build environment, you can use "make generate_verity_key". The actual source is here system/extras/verity if you just want to compile the pieces parts.. The script will be in the out/host directory if you use the make command. Use the convert option "generate_verity_key -convert <path-to-x509-pem> <path-to-key>" to convert the keystore.x509.pem cert that you made. This script will generate the public key in the just the right form that android is looking for. This is what goes into the root of the ramdisk. I think it has to be named verity_key. Yes, I know you aren't turning on dm-verity for the system image, but the boot is signed with the same key.

There is probably a script in one of the aosp repos that will make and sign the boot image. You want to find that and figure out what it is doing.

The finger print will be the first 6 words from the sha1 fingerprint:

openssl x509 -noout -in keystore.x509.pem -fingerprint -sha1

Hope that helps.

Edit: In the system/extra/verity dir, there is a boot_signer script that references a bootsignature.jar that might do what you are looking for. You'll probably have to build it since it will be in the out/host/ directory somewhere. or just hotwire the java yourself.
[Android Software/Hacking General [Developers Only]] Geofferey:
I'm slowly starting to figure this out, but I have one problem. On the Pixel there is no keystore partition so I can't flash my keystore.img. Do I need to flash a keystore for my signed images to boot? If not I will continue and sign but it was my understanding that I would need that. I suppose I should also grab the verity tools from a 7.0 tree instead of phhussons repo?
[Android Software/Hacking General [Developers Only]] gee one:
The pixel night be different, but I think the signature is appended to the boot.img. i don't think you need the keystore partition? I could be wrong. The fingerprint lets you know that it wasn't re-signed by a different key.

I think you want to use a nougat branch for sure.
[Android Software/Hacking General [Developers Only]] Geofferey:
Pixel Locked Bootloader Custom ROM / Kernel

Okay so I got this whole thing figured out. Just had to read stuff all over the place. Everything we need is in phhussons repo under the keystore_tools and the 6.0 CAF tree will suffice. I knew I was close.

BTW: I only recommend this for flawless ROMs with no major issues. Once re-locked DO NOT disable Allow OEM Unlock in the developer options menu unless you are 100% sure your phone will boot especially after /data wipes etc. Do not make modifications of any kind in a locked state with OEM unlock off. I learned the hard way with a 5X when I tried to dd a vendor.img via adb on a locked bootloader without TWRP. Don't do anything crazy! You have been warned!

Here is how you can re-sign after mods beofore re-locking a Pixel.

Grab boot images from android (needs root or twrp):

I actually used Android Terminal Emulator for this step

sailfish:/ # cd /dev/block/platform/soc/624000.ufshc/by-name
sailfish:/dev/block/platform/soc/624000.ufshc # dd if=boot_a of=/sdcard/boot_a.img
sailfish:/dev/block/platform/soc/624000.ufshc # dd if=boot_b of=/sdcard/boot_b.img

Generate Keystore:

./make_key keystore '/C=US/ST=California/L=Long Beach/O=Android/OU=Android/CN=Android/emailAddress=user@gmail.com'
openssl rsa -in keystore.pk8 -inform der -outform der -pubout -out keystore.pub.pk8

Sign the boot Images:

java -jar BootSignature.jar /boot boot_a..img keystore.pk8 keystore.x509.pem boot_a_signed.img
java -jar BootSignature.jar /boot boot_b..img keystore.pk8 keystore.x509.pem boot_b_signed.img

Reflash with fastboot:

fastboot flash boot_a boot_a_signed.img
fastboot flash boot_b boot_b_signed.img

Relock the bootloader (will erase device)

fastboot oem lock

One thing I have noticed is the fingerprint isn't displayed on boot, yet still starts up fine. Maybe it's because I didn't place the .pub key in ramdisk before signing? It could also be due to the use of CAF & not AOSP tools. In any case I got the pixel to boot yellow in a locked state after modifying the kernel.
[Android Software/Hacking General [Developers Only]] rk2612:
I'm a newbie compared to you guys and I had problems running Java. I've unpacked the boot image and repacked it after modifications. I have also generated keys and I'm wondering if there is a script (Python?) that I can run to sign the boot image? Also, where should I copy the public key inside the ramdisk? This is for a 7.0.1 Nougat boot image of OnePlus 3. Thanks,
[Android Software/Hacking General [Developers Only]] Geofferey:
Unfortunately there is no other method that I have found to sign boot images with besides the BootSignature.jar in phhusson's repo. You could also setup a build environment but the method I described is magnitudes simpler. Both methods require java there is no python script to perform this. You put the .pub key at root of RAM disk renamed as verity_key. I think that's only required if you are using dm-verity and a generated tree for your system image.

What OS are you running? I did my signing in Ubuntu.
[Android Software/Hacking General [Developers Only]] praveenkv1988:
Was this tested on OnePlus 5 by anyone before?
[Android Software/Hacking General [Developers Only]] praveenkv1988:
Signing the boot image.

What does it actually do? From the semantics, it looks like it is signing the boot image with the generated private key.

How does the bootloader in the device know to trust the images(like recovery, system or roms) signed with this private key?
[Android Software/Hacking General [Developers Only]] gee one:
See the class B implementation of verified boot.

https://source.android.com/security/verifiedboot/verified-boot

The boot is signed with the key and it is verified against the included certificate. Yes, someone else could just sign the boot image with their key, but you can verify the fingerprint when the device boots to make sure it was signed with the correct key. This makes it tamper evident, not tamper proof.

The rom itself should use dm-verity to check the integrity at the block level. The boot image, which is signed, has the dm-verity public key so that the rom can be verified. Similar verification process can apply to recovery if it is signed and has dm-verity. Most don't, but it is certainly possible to do.
[Android Software/Hacking General [Developers Only]] praveenkv1988:
Since lineageos builds are signed by their private key, Can we just lock the bootloader after installing lineageos? Will it boot in yellow state?
[Android Software/Hacking General [Developers Only]] gee one:
On 14.1- the locked bootloader will show the yellow state and the LOS key fingerprint. But, if you don't lock down the recovery, there's little point in locking the bootloader. It also seems risky to lock the bootloader with a rom that is signed with a private key that you don't control. Depending on the phone, you night not be able to decrypt data in recovery (think backups).

On 15.1, I think things are more complex and this or related parts in LOS might not be working yet.

My bootloader is locked and I was trying to upgrade my n5x to 15.1 yesterday and all I got were bootloops. I reverted to 14.1 and recovered, but there are no guarantees.

Lastly, the way you asked the question makes me think you shouldn't lock you bootloader. Not trying to be mean or rude, but I am trying to prevent you from losing your data or being locked out of your phone. The hard part about locking the bootloader is that you can't use fastboot to flash things like radios, vendor images, etc.
[Android Software/Hacking General [Developers Only]] praveenkv1988:
I was thinking flashing radio ans vendor images with work in locked state since they are signed with oem key.

Also lineageos updates will work with bootloader locked since they are signed with same lineageos key.

Correct me if I am wrong
[Android Software/Hacking General [Developers Only]] gee one:
Radio and vendor will have to be flashed in recovery- it's possible. I don't think any bootloader will let you flash just the radio and vendor. The radio and vendor images that are signed with the OEM key usually have the stock rom and stock recovery as well, so you'll be back to stock, if you can flash it at all.

I think when people typically lock the bootloader, it is for more security, but to be effective, you have to lock down the recovery as well. This usually means creating your own keys and signing every thing that you flash in recovery.
[Android Software/Hacking General [Developers Only]] Geofferey:
I've actually got that part down pat. Sporting a fully locked down recovery with secure adb using adb_keys and the ability to disable/enable the recovery at will. I did so by modifying the recovery ramdisk. Also using chainfires Verfied Boot Signer has made this process SO much easier. No need for JAVA anymore... If you're interested in how I made a secure recovery I could do a write up and post my mods to github.
[Android Software/Hacking General [Developers Only]] gee one:
Yes please. We all benefit from open security.
[Android Software/Hacking General [Developers Only]] optimumpro:
To have virtually full security, one MUST disable 'allow OEM unlock' after making sure everything works. I have done it on my Oneplus 5 with a custom rom. Now, with allow oem disabled, the phone is NOT reachable via fastboot at all: no one can flash via fastboot even stock kernel or recovery - the response is 'no remote flashing is allowed'. The only way to access the phone is through my self-signed TWRP, and since my phone is encrypted, good luck with the password. In the locked state, even if you press 'cancel' at TWRP password prompt, you would still NOT be able to flash anything or format data. The same applies to ADB, you won't be able to sideload anything: the phone doesn't even show up on PC until data is mounted.

However, once I enter my password and data is mounted, I can do whatever I want: upgrade/change roms etc...

Take a look at my guide with pictures (yellow warning and fingerprint, etc.).

https://xdaforums.com/oneplus-5/how-to/guide-relock-bootloader-custom-rom-t3849299
[Android Software/Hacking General [Developers Only]] Geofferey:
Securing TWRP

As always I am late .... lol...

Okay, so I basically came up with this solution to keep TWRP from starting by having it check for some files placed in the persist partition (/persist/.recovery/.recovery-enabled). When the TWRP ramdisk starts it runs an init script (/init.recovery.service.rc) to start the recovery program at (/sbin/recovery), that is actually the TWRP binary. I modified that script to start another script placed in (/sbin/start-recovery) which performs my checks for files before starting TWRP. I also modified (/default.prop) to start a secure adb daemon instead of insecure by using (/adb_keys).

I will give you a basic breakdown of the procedure.

1. Ensure Allow OEM Unlock is Enabled & balls of steel are present. If you do not understand something do not commence.

2. Unpack recovery.img using AIK

3. on rooted device to modify export sepolicy from booted rom

~$ su
# supolicy --save /data/local/tmp/sepolicy

4. Place /ramdisk/sepolicy

5. Place modified /ramdisk/init.recovery.service.rc

6. Place /ramdisk/sbin/start-recovery

7. Place adbkey.pub as /ramdisk/adb_keys

8. BACKUP, BACKUP, BACKUP your adbkey.pub & adbkey

9. Modify (/default prop) to include:

ro.adb.secure=1

10. Place /system/xbin/recovery &

chmod 0500 /system/xbin/recovery

use /su/bin/recovery if dm-verity enabled

11. Repack and flash signed image... Pray that you weren't too ballsy and that my instructions are clear because it's been a while since I did this.

12. Now you may run

sailfish:/ # recovery

Usage: recovery [ -d ] [ -e ] [ -s ] [ -u ]

-d disables recovery
-e enables recovery
-s starts recovery
-i installs update

sailfish:/ # recovery -e
recovery enabled

sailfish:/ # recovery -d
recovery disabled

13. If for some reason your recovery doesn't start after enabling it or you end up in bootloop you can start it up by connecting to a PC that has your "adbkey" associated with "adbkey.pub" that you should've placed in ramdisk as (/ramdisk/adb_keys).

Remember this is a basic set of instructions for implementing my mod and that modifications will likely be required to the (/sbin/start-recovery) script to properly mount (/persist) on some devices. If anyone wants to do a thorough write-up of these procedures I would appreciate it very much, just give me credit where it's due.

I also recommend using your own signing keys placed in AIK/bin/avb/verity.pk8 & AIK/bin/avb/verity.x509.der but don't do that if you already signed using public keys. To be safe use the same method you used to previously sign boot.img(s).
[Android Software/Hacking General [Developers Only]] optimumpro:
What I have found for many devices is that modifying init files in unpacked recovery (or kernel) results in no booting. I remember that to be true in many Sony devices. And it is true in my current Oneplus 5. So, for me, your modifications would require building recovery from source.
[Android Software/Hacking General [Developers Only]] Geofferey:
I don't see why it wouldn't work on the OnePlus 5. It's as pure of a device as it gets. I've done the mod on quite a few devices but OnePlus isn't one of them, so I can't entirely speak for it. Try it out tho. Just use the keys with AIK that you've been using to sign with & sign the image again after flashing through TWRP with Chainfires VerifiedBootSigner.zip. Start with a small mod and work your way up. Try modifying default.prop first and adding adb_keys. Use a text editor like Notepad++ if you're on windows. If I can do this on Samsung you should be able to on a OnePlus ;) . Explore my friend. If you want you can PM me and I'll help you because I would love to see it working on your Phone. I want to make some drag and drop solutions for many devices and you could help further that development.
[Android Software/Hacking General [Developers Only]] optimumpro:
The only thing I can modify on Oneplus TWRP is xml files. If I touch any init file, no boot. I faced the same issues with Sony Xperias and Lenovo Zuk Z2. But because I have kernel (and rom) sources, I can put your mode in source and build.

A separate question: Can you comment on the benefits of having your mode vs. my thing, where TWRP, Rom and Kernel are signed. Then installed. Then bootloader is locked and an option 'allow OEM unlock' is disabled. Data is encrypted and when device is turned off, there is no access via fastboot or adb. Not even a stock kernel/recovery/rom could be flashed (remote unlock not allowed). Yes, they can boot into TWRP, but without password, there is no access to adb/sideload.

P.S. In an extreme case, I can delete TWRP, and when there is a need for an upgrade, re-install it on a running device.