Code Monkey home page Code Monkey logo

Comments (8)

Kojuda avatar Kojuda commented on August 19, 2024

(Forgotten vbmeta.img in the previous post)

image

from android_universal.

Kojuda avatar Kojuda commented on August 19, 2024

It seems the Windows version hasn't the pipe problem, but cannot read a file that must be created by the script :

image

from android_universal.

bkerler avatar bkerler commented on August 19, 2024

Can you share the boot.img ? Might have a look then

from android_universal.

Kojuda avatar Kojuda commented on August 19, 2024

images.zip

Thank you !

If the problem really originates from unpacking initfs, the broken pipe might be linked since it's exactly at the same place ( p.stdin.write(rdcpio) ) :
image

from android_universal.

Kojuda avatar Kojuda commented on August 19, 2024

Maybe it's because the Android phone is A/B device. (Fairphone 3)

Inside makeramdisk.py :

The script is writing hdrsize if the header version is superior than 0 :
image

But this variable is read from the image only if a header version of 2 is detected :
image

According to the bootimg.h, hdrsize is part of header version 1 too : (https://android.googlesource.com/platform/system/tools/mkbootimg/+/refs/heads/master/include/bootimg/bootimg.h)

image

I should signal another thing, the init file is extracted from rd.gz as init@0755 under /system/bin and not under / as init@0750 :

image

from android_universal.

Kojuda avatar Kojuda commented on August 19, 2024

I have managed to modifiy the program in order to complete the process.

First, according to bootimg.h, I have modified this part of makeramdisk.py :

image

I have changed the path to the folder /keys. The program was searching it under android_universal\root\scripts\Library\utils\keys (that doesn't exist) while this folder already existed under /root/keys

image

I have set up the arg use_persistent_digest to True for the function add_hash_footer (avbtool3.py) :
2021-07-16 17_53_25-Window

and convert the salt :
image

Because this one was created from reading /dev/urandom that doesn't exist on Windows.

So now the program terminates and creates a boot.img.signed. But when I flash it, I cannot retrieve any thing linked to the patch. (None of the .sh's are under /sbin, init.rc doesn't have the "on eary-init" that will import init.shell.rc... etc through TWRP) So nothing seems to work, any idea ?
Note : I failed to correct the error concerning init @0750.

from android_universal.

Kojuda avatar Kojuda commented on August 19, 2024

image

I presume the difference between the two mods (0750 vs 0755) is normal. I will adapt the script to patch this init@0755 because it seems the A/B devices have normally their init under /system/bin :
image

Modification :

image

Now the patching is working, but once patched, I don't have any open ports for netcat. If I browse through the filesystem with TWRP, I cannot find any traces of the modification.

from android_universal.

Kojuda avatar Kojuda commented on August 19, 2024

In fact, it seems the kernel doesn't load the ramdisk at all. (I have tried boot_a and boot_b)

image

I think it is linked to the boot method in some ways since the init is clearly under /system/bin but the device was not originally under Android 10. What would explain this behavior ? @bkerler

from android_universal.

Related Issues (11)

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.