souramoo / Needle

Android framework injection made easy
GNU General Public License v3.0
100 stars 28 forks source link

libgcc_s.so.1 #7

Open Elinvention opened 8 years ago

Elinvention commented 8 years ago
 *** Selected device LGD855c1b53fb0
 *** Device detected! proceeding...
 *** Working dir: /tmp/tmp8v4q8xtz
 *** Rooting adbd...
adbd is already running as root
remount succeeded
 *** Pulling framework from device...
4036 KB/s (5532425 bytes in 1.338s)
 *** Disassembling framework...
I: Using Apktool 2.0.2 on framework.jar
I: Baksmaling classes.dex...
I: Baksmaling classes2.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
 *** Done. Now this won't hurt a bit...
 *** Injection successful. Reassembling smali...
I: Using Apktool 2.0.2
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether sources has changed...
I: Smaling smali_classes2 folder into classes2.dex...
W: Could not find resources
I: Building apk file...
/tmp/brut_util_Jar_2568922176232786379.tmp: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [/tmp/brut_util_Jar_2568922176232786379.tmp, p, -F, /tmp/tmp8v4q8xtz/framework.jar.out/dist/framework.jar, -0, arsc, /tmp/tmp8v4q8xtz/framework.jar.out/build/apk]
    at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:425)
    at brut.androlib.Androlib.buildApk(Androlib.java:667)
    at brut.androlib.Androlib.build(Androlib.java:296)
    at brut.androlib.Androlib.build(Androlib.java:261)
    at brut.apktool.Main.cmdBuild(Main.java:225)
    at brut.apktool.Main.main(Main.java:84)
Caused by: brut.common.BrutException: could not exec command: [/tmp/brut_util_Jar_2568922176232786379.tmp, p, -F, /tmp/tmp8v4q8xtz/framework.jar.out/dist/framework.jar, -0, arsc, /tmp/tmp8v4q8xtz/framework.jar.out/build/apk]
    at brut.util.OS.exec(OS.java:89)
    at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:419)
    ... 5 more
 *** Putting things back like nothing ever happened...
updating: classes.dex (deflated 60%)
 *** Pushing changes to device...
4332 KB/s (5565313 bytes in 1.254s)
 *** All done! :)

CyanogenMod 12.1 on LG G3 D855. What does this mean?

Elinvention commented 8 years ago

After reboot all apps were re-optimised, but microg still complains. I tried to run the script again but it says *** This framework.jar appears to already have been patched... Exiting..

Elinvention commented 8 years ago

Sorry microg does work, so the script worked, but what about that error?

nicorikken commented 8 years ago

Same issue here, on the Fairphone 2, with current Open Source OS release.

Lanchon commented 8 years ago

not very useful, you don't even say what OS you are running in your PC!

linux? windows? if running a ubuntu derivative, try this:

sudo apt-get install gcc-multilib

then rerun needle.

nicorikken commented 8 years ago

Correction: I misunderstood my error for this issue. My very minimal Debian install had no zip command available, so line https://github.com/moosd/Needle/blob/1b6b3f3982521e41d2a652ee73471006fc0f740e/patch.py#L114 of the code failed. Otherwise I'm fine.

souramoo commented 8 years ago

This error is when apktool is trying to assemble the resources, but the script only cares about the dex output and puts them into the framework.jar. The actual patching process worked, will clean this output by switching to smali/baksmali directly in a future commit.

ale5000-git commented 8 years ago

@Elinvention: Please try if the problem is fixed with the latest version.