Giter Club home page Giter Club logo

shakaapktool's Introduction

shakaapktool's People

Contributors

gitter-badger avatar pwelyn avatar rover12421 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  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

shakaapktool's Issues

resource spec ID

经过测试使用HEX打开resources.arsc,查找对drawable或string对应值t=0x03修改为0x01或0x02都可以导致反编译失败出现以下错误日志:

ception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 0x7f000005
  at brut.androlib.res.data.ResPackage.getResSpec_aroundBody0(ResPackage.java:59)
  at brut.androlib.res.data.ResPackage$AjcClosure1.run(ResPackage.java:1)
  at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:221)
  at com.rover12421.shaka.apktool.lib.ResPackageAj.getResSpec(ResPackageAj.java:41)
  at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:56)
  at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:65)
  at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:61)
  at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferenceValue.java:57)
  at brut.androlib.res.data.value.ResReferenceValue.encodeAsResXml(ResReferenceValue.java:47)
  at brut.androlib.res.data.value.ResScalarValue.encodeAsResXmlValue(ResScalarValue.java:58)
  at brut.androlib.res.data.value.ResScalarValue.serializeToResValuesXml(ResScalarValue.java:75)
  at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResources.java:502)
  at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:252)
  at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:136)
  at brut.androlib.ApkDecoder.decode(ApkDecoder.java:102)
  at brut.apktool.Main.cmdDecode(Main.java:165)
  at brut.apktool.Main.main(Main.java:81)
  at com.rover12421.shaka.cli.Main.main(Main.java:95)
aapt d resources test.apk
Package Groups (1)
Package Group 0 id=0x7f packageCount=1 name=com.example.myapp
  Package 0 id=0x7f name=com.example.myapp
    type 1 configCount=4 entryCount=1
      spec resource 0x7f020000 com.example.myapp:drawable/ic_launcher: flags=0x00000100
      config ldpi-v4:
        resource 0x7f020000 com.example.myapp:drawable/ic_launcher: t=0x03 d=0x00000001 (s=0x0008 r=0x00)
      config mdpi-v4:
        resource 0x7f020000 com.example.myapp:drawable/ic_launcher: t=0x03 d=0x00000002 (s=0x0008 r=0x00)
      config hdpi-v4:
        resource 0x7f020000 com.example.myapp:drawable/ic_launcher: t=0x03 d=0x00000003 (s=0x0008 r=0x00)
      config xhdpi-v4:
        resource 0x7f020000 com.example.myapp:drawable/ic_launcher: t=0x03 d=0x00000004 (s=0x0008 r=0x00)
    type 2 configCount=1 entryCount=1
      spec resource 0x7f030000 com.example.myapp:layout/main: flags=0x00000000
      config (default):
        resource 0x7f030000 com.example.myapp:layout/main: t=0x03 d=0x00000000 (s=0x0008 r=0x00)
    type 3 configCount=1 entryCount=1
      spec resource 0x7f040000 com.example.myapp:string/app_name: flags=0x00000000
      config (default):
        resource 0x7f040000 com.example.myapp:string/app_name: t=0x02 d=0x00000005 (s=0x0008 r=0x00)

t=0x02t=0x01都会出现上面错误,t=0x00t=0x03不会其他值没有测试

测试app地址:http://pan.baidu.com/s/1c0nx0Tq

Exception in thread "main" com.rover12421.shaka.b.l 错误

I: 使用 ShakaApktool 3.0.0-master-f1e0a9f-20160905
I: 编译 smali 到 classes.dex...
I: 正在编译资源...
Exception in thread "main" com.rover12421.shaka.b.l: W: H:\newCode\study\andorid\Rolan\bin\reverse\AndroidKiller\projects\fireball_game\Project\res\values\public.xml:4: error: Public symbol drawable/banner declared here is not defined.
W: H:\newCode\study\andorid\Rolan\bin\reverse\AndroidKiller\projects\fireball_game\Project\res\values\public.xml:19: error: Public symbol raw/debugger declared here is not defined.
W: H:\newCode\study\andorid\Rolan\bin\reverse\AndroidKiller\projects\fireball_game\Project\res\values\public.xml:22: error: Public symbol raw/mms_cfg declared here is not defined.
W: H:\newCode\study\andorid\Rolan\bin\reverse\AndroidKiller\projects\fireball_game\Project\res\values\public.xml:24: error: Public symbol raw/ss_cfg declared here is not defined.
W: H:\newCode\study\andorid\Rolan\bin\reverse\AndroidKiller\projects\fireball_game\Project\res\values\public.xml:25: error: Public symbol raw/ss_sgn declared here is not defined.
at b.a.d.a.a(Unknown Source)
at b.a.d.a.a(Unknown Source)
at b.a.a.a(Unknown Source)
at b.a.a.a(Unknown Source)
at b.a.a.e(Unknown Source)
at b.a.a.a(Unknown Source)
at b.b.a.b(Unknown Source)
at b.b.a.a(Unknown Source)
at com.rover12421.shaka.cli.Main.main(Unknown Source)
Caused by: b.a.A: b.c.a: could not exec (exit code = 1): [C:\Users\Administrator\ShakaApktool\windows-x86\bin\aapt.exe, p, --forced-package-id, 127, --min-sdk-version, 14, --target-sdk-version, 24, --version-code, 1000008, --version-name, 1.0.8, -F, C:\Users\Administrator\AppData\Local\Temp\APKTOOL7456598579852741740.tmp, -0, arsc, -I, C:\Users\Administrator\AppData\Local\apktool\framework\1.apk, -S, H:\newCode\study\andorid\Rolan\bin\reverse\AndroidKiller\projects\fireball_game\Project\res, -M, H:\newCode\study\andorid\Rolan\bin\reverse\AndroidKiller\projects\fireball_game\Project\AndroidManifest.xml]
at b.a.d.a.a(Unknown Source)
... 9 more
Caused by: b.c.a: could not exec (exit code = 1): [C:\Users\Administrator\ShakaApktool\windows-x86\bin\aapt.exe, p, --forced-package-id, 127, --min-sdk-version, 14, --target-sdk-version, 24, --version-code, 1000008, --version-name, 1.0.8, -F, C:\Users\Administrator\AppData\Local\Temp\APKTOOL7456598579852741740.tmp, -0, arsc, -I, C:\Users\Administrator\AppData\Local\apktool\framework\1.apk, -S, H:\newCode\study\andorid\Rolan\bin\reverse\AndroidKiller\projects\fireball_game\Project\res, -M, H:\newCode\study\andorid\Rolan\bin\reverse\AndroidKiller\projects\fireball_game\Project\AndroidManifest.xml]
at b.e.i.a(Unknown Source)
... 10 more

有人说是 ShakaApktool 版本问题 ??求救

-xn,--xml-attribute-name-correct使用问题

使用新版本-xn参数来反编译QQ浏览器反编译可以成功,但是回编译会报错

Exception in thread "main" com.rover12421.shaka.b.l: /Users/pwelyn/Downloads/com.tencent.mtt/res/layout/notification_tbs_tips.xml:2: error: No resource identifier found for attribute 'layout_maxHeight' in package 'android'

/Users/pwelyn/Downloads/com.tencent.mtt/res/layout/notification_tbs_tips.xml:2: error: No resource identifier found for attribute 'layout_minHeight' in package 'android'

/Users/pwelyn/Downloads/com.tencent.mtt/res/layout/resident_notification_calendar.xml:2: error: No resource identifier found for attribute 'layout_maxHeight' in package 'android'

/Users/pwelyn/Downloads/com.tencent.mtt/res/layout/resident_notification_calendar.xml:2: error: No resource identifier found for attribute 'layout_minHeight' in package 'android'

/Users/pwelyn/Downloads/com.tencent.mtt/res/layout/resident_notification_constellation.xml:2: error: No resource identifier found for attribute 'layout_maxHeight' in package 'android'

/Users/pwelyn/Downloads/com.tencent.mtt/res/layout/resident_notification_constellation.xml:2: error: No resource identifier found for attribute 'layout_minHeight' in package 'android'

/Users/pwelyn/Downloads/com.tencent.mtt/res/layout/resident_notification_life.xml:2: error: No resource identifier found for attribute 'layout_maxHeight' in package 'android'

/Users/pwelyn/Downloads/com.tencent.mtt/res/layout/resident_notification_life.xml:2: error: No resource identifier found for attribute 'layout_minHeight' in package 'android'

/Users/pwelyn/Downloads/com.tencent.mtt/res/layout/resident_notification_tools.xml:2: error: No resource identifier found for attribute 'layout_maxHeight' in package 'android'

/Users/pwelyn/Downloads/com.tencent.mtt/res/layout/resident_notification_tools.xml:2: error: No resource identifier found for attribute 'layout_minHeight' in package 'android'

/Users/pwelyn/Downloads/com.tencent.mtt/res/layout/resident_notification_weather.xml:2: error: No resource identifier found for attribute 'layout_maxHeight' in package 'android'

/Users/pwelyn/Downloads/com.tencent.mtt/res/layout/resident_notification_weather.xml:2: error: No resource identifier found for attribute 'layout_minHeight' in package 'android'

如果使用API22的framework文件可以正常回编译成功,只有使用新版本自带的API23 framework无法回编译。

The last instruction in the method is truncated

testapk:
原始apk
http://pan.baidu.com/s/1dDB4hjz
加固apk
http://pan.baidu.com/s/1bntXlYv


加固apk异常:

Error occurred while disassembling class Lcn.com.fmsh.cube.a.a; - skipping class
org.jf.util.ExceptionWithContext: The last instruction in the method is truncated
    at org.jf.dexlib2.dexbacked.DexBackedMethodImplementation$1$1.readNextItem(DexBackedMethodImplementation.java:87)
    at org.jf.dexlib2.dexbacked.DexBackedMethodImplementation$1$1.readNextItem(DexBackedMethodImplementation.java:1)
    at org.jf.dexlib2.dexbacked.util.VariableSizeLookaheadIterator.computeNext(VariableSizeLookaheadIterator.java:60)
    at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
    at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
    at com.google.common.collect.ImmutableCollection$Builder.addAll(ImmutableCollection.java:300)
    at com.google.common.collect.ImmutableList$Builder.addAll(ImmutableList.java:691)
    at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:275)
    at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:226)
    at org.jf.baksmali.Adaptors.MethodDefinition.<init>(MethodDefinition.java:86)
    at org.jf.baksmali.Adaptors.ClassDefinition.writeDirectMethods(ClassDefinition.java:282)
    at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java:112)
    at org.jf.baksmali.baksmali.disassembleClass(baksmali.java:226)
    at org.jf.baksmali.baksmali.access$0(baksmali.java:177)
    at org.jf.baksmali.baksmali$1.call(baksmali.java:150)
    at org.jf.baksmali.baksmali$1.call(baksmali.java:1)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Error while processing method Lcn/com/fmsh/cube/a/a;->a()Lcn/com/fmsh/cube/a/a;

Lcn.com.fmsh.cube.a.a;在原始包存在,须正常解析出来

gradle build 失败

参考wiki的build文档后,执行gradle build提示如下信息:

  • What went wrong:
    A problem occurred evaluating root project 'ShakaApktool'.

    Could not find method jcenter() for arguments [] on repository container.

(在Ubuntu 14.04上,apt-get install gradle装的gradle。)

如果用提供的gradlew,执行./gradlew build则提示:

drawableXhdpiTest 0.001s failed

java.lang.AssertionError
    at org.junit.Assert.fail(Assert.java:86)
    at org.junit.Assert.assertTrue(Assert.java:41)
    at org.junit.Assert.assertTrue(Assert.java:52)
    at brut.androlib.BuildAndDecodeTest.compareBinaryFolder(BuildAndDecodeTest.java:360)
    at brut.androlib.BuildAndDecodeTest.compareResFolder(BuildAndDecodeTest.java:364)
    at brut.androlib.BuildAndDecodeTest.drawableXhdpiTest(BuildAndDecodeTest.java:277)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:105)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:56)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:64)
    at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:50)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
    at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
    at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
    at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:106)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
    at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

另外执行 ./gradlew fatjar生成了build/libs/ShakaApktool-2.0.0.jar,但是执行java -jar ShakaApktool-2.0.0.jar b 10000000 -xn,提示:

no main manifest attribute, in ShakaApktool-2.0.0.jar

error: invalid symbol

样本:http://pan.baidu.com/s/1bnhMoiV

错误日志:Exception in thread "main" com.rover12421.shaka.apktool.util.ShakaException: /Users/pwelyn/Downloads/10000000/res/values/public.xml:232: error: invalid symbol: 'do'

/Users/pwelyn/Downloads/10000000/res/values/public.xml:408: error: invalid symbol: 'if'

/Users/pwelyn/Downloads/10000000/res/values/public.xml:1664: error: invalid symbol: 'do'

/Users/pwelyn/Downloads/10000000/res/values/public.xml:1893: error: invalid symbol: 'if'

/Users/pwelyn/Downloads/10000000/res/values/public.xml:2418: error: invalid symbol: 'do'

/Users/pwelyn/Downloads/10000000/res/values/public.xml:2597: error: invalid symbol: 'if'

/Users/pwelyn/Downloads/10000000/res/values/public.xml:5233: error: invalid symbol: 'do'

/Users/pwelyn/Downloads/10000000/res/values/public.xml:5414: error: invalid symbol: 'if'

/Users/pwelyn/Downloads/10000000/res/values/public.xml:7384: error: invalid symbol: 'do'

/Users/pwelyn/Downloads/10000000/res/layout/a8.xml:7: error: Error: No resource found that matches the given name (at 'layout' with value '@layout/qqmarket_push_tips_content_area').

/Users/pwelyn/Downloads/10000000/res/layout/a9.xml:7: error: Error: No resource found that matches the given name (at 'layout' with value '@layout/qqmarket_push_tips_content_area').

/Users/pwelyn/Downloads/10000000/res/layout/a_.xml:7: error: Error: No resource found that matches the given name (at 'layout' with value '@layout/qqmarket_push_tips_content_area').

/Users/pwelyn/Downloads/10000000/res/layout/aa.xml:7: error: Error: No resource found that matches the given name (at 'layout' with value '@layout/qqmarket_push_tips_content_area').

/Users/pwelyn/Downloads/10000000/res/layout/ab.xml:6: error: Error: No resource found that matches the given name (at 'layout' with value '@layout/qqmarket_push_tips_content_area').

/Users/pwelyn/Downloads/10000000/res/layout/ah.xml:2: error: Error: Dimension types not allowed (at 'nestedScrollingEnabled' with value '64.0dip').

/Users/pwelyn/Downloads/10000000/res/layout/ah.xml:2: error: Error: Dimension types not allowed (at 'windowEnterTransition' with value '64.0dip').

/Users/pwelyn/Downloads/10000000/res/layout/ai.xml:2: error: Error: Dimension types not allowed (at 'nestedScrollingEnabled' with value '64.0dip').

/Users/pwelyn/Downloads/10000000/res/layout/ai.xml:2: error: Error: Dimension types not allowed (at 'windowEnterTransition' with value '64.0dip').

/Users/pwelyn/Downloads/10000000/res/layout/aj.xml:2: error: Error: Dimension types not allowed (at 'nestedScrollingEnabled' with value '64.0dip').

/Users/pwelyn/Downloads/10000000/res/layout/aj.xml:2: error: Error: Dimension types not allowed (at 'windowEnterTransition' with value '64.0dip').

at com.rover12421.shaka.apktool.AspjectJ.apktool_lib.AndrolibResourcesAj.aaptPackage_around(AndrolibResourcesAj.java:202)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:294)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:444)
at brut.androlib.Androlib.buildResources(Androlib.java:396)
at brut.androlib.Androlib.build(Androlib.java:285)
at brut.androlib.Androlib.build(Androlib.java:256)
at brut.apktool.Main.cmdBuild(Main.java:225)
at brut.apktool.Main.main(Main.java:84)
at com.rover12421.shaka.apktool.Main.main(Main.java:12)

Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [/var/folders/kn/kqnq_f254212gn9b6tp9_fjw0000gn/T/brut_util_Jar_2595807183067115698.tmp, p, --forced-package-id, 127, --min-sdk-version, 8, --target-sdk-version, 16, --version-code, 571400, --version-name, 5.7.2.1400, -F, /var/folders/kn/kqnq_f254212gn9b6tp9_fjw0000gn/T/APKTOOL9099692860656676522.tmp, -I, /Users/pwelyn/Library/apktool/framework/1.apk, -S, /Users/pwelyn/Downloads/10000000/res, -M, /Users/pwelyn/Downloads/10000000/AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage_aroundBody28(AndrolibResources.java:419)
at brut.androlib.res.AndrolibResources$AjcClosure29.run(AndrolibResources.java:1)
at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:221)
at com.rover12421.shaka.apktool.AspjectJ.apktool_lib.AndrolibResourcesAj.aaptPackage_around(AndrolibResourcesAj.java:73)
... 8 more
Caused by: brut.common.BrutException: could not exec command: [/var/folders/kn/kqnq_f254212gn9b6tp9_fjw0000gn/T/brut_util_Jar_2595807183067115698.tmp, p, --forced-package-id, 127, --min-sdk-version, 8, --target-sdk-version, 16, --version-code, 571400, --version-name, 5.7.2.1400, -F, /var/folders/kn/kqnq_f254212gn9b6tp9_fjw0000gn/T/APKTOOL9099692860656676522.tmp, -I, /Users/pwelyn/Library/apktool/framework/1.apk, -S, /Users/pwelyn/Downloads/10000000/res, -M, /Users/pwelyn/Downloads/10000000/AndroidManifest.xml]
at brut.util.OS.exec(OS.java:89)
at brut.androlib.res.AndrolibResources.aaptPackage_aroundBody28(AndrolibResources.java:413)
... 11 more

新版本回编译使用问题

Mac和win8 使用release编译的jar回编译会有以下错误信息输出:
I: 正在编译资源...
I: Can't set aapt binary as executable
Exception in thread "main" com.rover12421.shaka.b.l:
at com.rover12421.shaka.a.b.e.a(Unknown Source)
at b.a.d.a.a(Unknown Source)
at b.a.a.b(Unknown Source)
at b.a.a.a(Unknown Source)
at b.a.a.e(Unknown Source)
at b.a.a.a(Unknown Source)
at b.b.a.b(Unknown Source)
at b.b.a.a(Unknown Source)
at com.rover12421.shaka.cli.Main.main(Unknown Source)
Caused by: com.rover12421.shaka.b.l: Can't set aapt binary as executable
at b.a.d.a.a(Unknown Source)
at b.a.d.a.d(Unknown Source)
at b.a.d.a.a(Unknown Source)
at b.a.d.l.a(Unknown Source)
at org.c.b.b.c.a(Unknown Source)
... 9 more
Caused by: java.lang.NullPointerException
at org.b.a.b.b.a(Unknown Source)
at org.b.a.b.b.b(Unknown Source)
at org.b.a.b.b.a(Unknown Source)
at com.rover12421.shaka.b.f.a(Unknown Source)
at com.rover12421.shaka.b.j.a(Unknown Source)
at com.rover12421.shaka.b.j.c(Unknown Source)
at com.rover12421.shaka.b.j.a(Unknown Source)
... 14 more

使用非release编译的jar回编译会输出以下错误:
I: 正在编译资源...
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.DirectoryException: java.io.FileNotFoundException: /var/folders/kn/kqnq_f254212gn9b6tp9_fjw0000gn/T/APKTOOL2944564516219863031.tmp (No such file or directory)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:459)
at brut.androlib.Androlib.buildResources(Androlib.java:397)
at brut.androlib.Androlib.build(Androlib.java:285)
at brut.androlib.Androlib.build(Androlib.java:256)
at brut.apktool.Main.cmdBuild(Main.java:225)
at brut.apktool.Main.main(Main.java:84)
at com.rover12421.shaka.cli.Main.main(Main.java:96)
Caused by: brut.directory.DirectoryException: java.io.FileNotFoundException: /var/folders/kn/kqnq_f254212gn9b6tp9_fjw0000gn/T/APKTOOL2944564516219863031.tmp (No such file or directory)
at brut.directory.ZipRODirectory.(ZipRODirectory.java:55)
at brut.directory.ZipRODirectory.(ZipRODirectory.java:38)
at brut.androlib.res.util.ExtFile.getDirectory(ExtFile.java:55)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:449)
... 6 more
Caused by: java.io.FileNotFoundException: /var/folders/kn/kqnq_f254212gn9b6tp9_fjw0000gn/T/APKTOOL2944564516219863031.tmp (No such file or directory)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:220)
at java.util.zip.ZipFile.(ZipFile.java:150)
at java.util.zip.ZipFile.(ZipFile.java:164)
at brut.directory.ZipRODirectory.(ZipRODirectory.java:53)
... 9 more

Can't find framework resources for package of id: 62. You must install proper framework files, see project website for more info.

不好意思大大,我又来反馈BUG了。。
http://coolapk.com/apk/com.Taptigo.Xposed.XNotifications
这个APK,反编译不了,会提示

I: 使用 ShakaApktool 2.0.0-master-737fef9-20151125
I: 正在加载资源列表...
W: Correct value type : 4 > 1
W: Correct value type : 4 > 1
W: Correct value type : 4 > 1
W: Correct value type : 4 > 1
W: Correct value type : 4 > 1
W: Correct value type : 4 > 1
W: Correct value type : 4 > 1
W: Correct value type : 4 > 1
W: Correct value type : 4 > 1
W: Correct value type : 4 > 1
I: 反编译 AndroidManifest.xml 与资源...
I: 正在从框架文件加载资源列表: C:\Users\计算机\apktool\framework\1.apk
I: 常规资源列表...
I: 反编译资源文件...
I: 反编译 values */* XMLs...
Can't find framework resources for package of id: 62. You must install proper framework files, see project website for more info.

dex offset 的问题。。

http://coolapk.com/apk/eliseo.nightmode

在反编译这个的时候,会出现无数的offset的提示(刚更新的没有提示了,但下面的问题还有),
好多类似于

.method abstract a()V
.end method

的方法,都会变成

# write writeVirtualMethods error : a()V

然后回编译就不能用了,会直接FC。。

麻烦大神看一下,谢谢!~

/res/raw下xml文件的反编译问题

/res/raw下有xml文件时,会提示无法反编译文件,用FALSE值代替,然后这个xml文件就成了0kb,在/res/values/raw.xml中会添加FALSE。但实际上/res/raw下的xml文件貌似不用反编译。

谢谢!

Caused by: java.io.IOException: Expected: 0x001c0001, got: 0x00000001

I: Using ShakaApktool 2.0.0-master-89f2344-20150724
I: Using Apktool 2.0.1-SNAPSHOT-master-f49335a on 淘宝推送.apk
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:52)
at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:538)
at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:63)
at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:55)
at brut.androlib.Androlib.getResTable(Androlib.java:64)
at brut.androlib.ApkDecoder.setTargetSdkVersion(ApkDecoder.java:209)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:92)
at brut.apktool.Main.cmdDecode(Main.java:165)
at brut.apktool.Main.main(Main.java:81)
at com.rover12421.shaka.cli.Main.main(Main.java:96)
at com.rover12421.shaka.test.TestApk.main(TestApk.java:12)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Caused by: java.io.IOException: Expected: 0x001c0001, got: 0x00000001
at brut.util.ExtDataInput.skipCheckChunkTypeInt(ExtDataInput.java:75)
at brut.util.ExtDataInput.skipCheckChunkTypeInt(ExtDataInput.java:73)
at brut.androlib.res.decoder.StringBlock.read(StringBlock.java:44)
at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:73)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:47)
... 15 more

Apktool 2.2.x

Could you update to the latest apktool from ibotpeaches to support Android 7.0..?

Filename too long in build

fatal: cannot create directory at 'brut.apktool/apktool-lib/src/test/resources/brut/apktool/testapp/res/values-mcc004-mnc4-en-rUS-ldrtl-sw 100dp-w200dp-h300dp-xlarge-long-round-land-desk-night-xhdpi-finger-keyssoft-12key-navhidden-dpad': Filename too long
Submodule path 'shaka/smali/smali': checked out '7079014a29869e1bac22226681de3471b6dc11b5'
Unable to checkout '64644a1242d47d8f69fb358f590b4312eeab5a12' in submodule path 'shaka/apktool/apktool'

gradle fatjar with an exception

gradle fatjar

FAILURE: Build failed with an exception.

  • What went wrong:
    A problem occurred configuring project ':shaka'.

Could not resolve all artifacts for configuration ':shaka:classpath'.
Could not resolve nl.eveoh:gradle-aspectj:1.6.
Required by:
project :shaka
> Could not resolve nl.eveoh:gradle-aspectj:1.6.
> Could not get resource 'https://maven.eveoh.nl/content/repositories/releases/nl/eveoh/gradle-aspectj/1.6/gradle-aspectj-1.6.pom'.
> Could not GET 'https://maven.eveoh.nl/content/repositories/releases/nl/eveoh/gradle-aspectj/1.6/gradle-aspectj-1.6.pom'.
> sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

@android:style/Widget.HorizontalScrollView

  • Error
res/values/styles.xml:975: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Widget.HorizontalScrollView'.
  • test apk
http://pan.baidu.com/s/1o6mOY3g

     <style name="Theme.WifiDialog" parent="@android:style/Widget.HorizontalScrollView">
        <item name="android:windowSoftInputMode">adjustResize</item>
     </style>

修改为:

    <style name="Theme.WifiDialog" parent="@android:style/Widget.ScrollView">
        <item name="android:windowSoftInputMode">adjustResize</item>
        <item name="android:scrollbars">horizontal</item>
        <item name="android:fadingEdge">horizontal</item>
    </style>

@android:style/Widget.HorizontalScrollView IDE中能识别,aapt编译异常.

回编译出错 (19448): First type is not attr!

W: Found exception png file : D:\tmp\out\res\drawable-tvdpi\common_plus_signin_btn_icon_dark_pressed.9.png
Exception in thread "main" com.rover12421.shaka.b.l: W: A/ (19448): First type is not attr!
W:
W: This application has requested the Runtime to terminate it in an unusual way.
W: Please contact the application's support team for more information.

at b.a.d.a.a(Unknown Source)
at b.a.d.a.a(Unknown Source)
at b.a.a.a(Unknown Source)
at b.a.a.a(Unknown Source)
at b.a.a.e(Unknown Source)
at b.a.a.a(Unknown Source)
at b.b.a.b(Unknown Source)
at b.b.a.a(Unknown Source)
at com.rover12421.shaka.cli.Main.main(Unknown Source)

Caused by: b.a.A: b.c.a: could not exec (exit code = 3): [C:\Users\likai_m\ShakaApktool\windows-x86\bin\aapt.exe, p, --forced-package-id, 127, --min-sdk-version, 19, --target-sdk-version, 22, --version-code, 5, --version-name, 1.28.0, -F, C:\Users\likai_m\AppData\Local\Temp\APKTOOL3204273891692388115.tmp, -0, arsc, -I, C:\Users\likai_m\AppData\Local\apktool\framework\1.apk, -S, D:\tmp\out\res, -M, D:\tmp\out\AndroidManifest.xml]
at b.a.d.a.a(Unknown Source)
... 11 more
Caused by: b.c.a: could not exec (exit code = 3): [C:\Users\likai_m\ShakaApktool\windows-x86\bin\aapt.exe, p, --forced-package-id, 127, --min-sdk-version, 19, --target-sdk-version, 22, --version-code, 5, --version-name, 1.28.0, -F, C:\Users\likai_m\AppData\Local\Temp\APKTOOL3204273891692388115.tmp, -0, arsc, -I, C:\Users\likai_m\AppData\Local\apktool\framework\1.apk, -S, D:\tmp\out\res, -M, D:\tmp\out\AndroidManifest.xml]
at b.e.i.a(Unknown Source)
... 12 more

Support miui7?

  1. is this apktool support miui 7?
  2. and what is different from apktool.jar from ibotpeaches?

blank space character in versionName while compiling

In the compiling process, if there is blank space character in the versionName as below:
versionName: 2.0.4 build 100
It will replace the " " with "_", however the original apktool can do well with this.
Could you please help with this?

FuckUnkownId

apktool对未知id是有处理,但不全面.并且没有提示信息.
一种是定义了资源id,但是资源id是错误的.这种是apktool中引入了mMissingResSpecs,把未知错误的id替换成以"APKTOOL_DUMMY_%04x"格式,命名的Boolean类型.

另一种是压根就没定义改资源id,但是却引用了.这种会抛出异常UndefinedResObject


添加选项[fui|fuck_unkown_id],对未知ID,强制处理.使用该选项,第一中处理也会被覆盖!!

下载gradle-aspectj-1.6.pom失败

按提示来编译的,提示错误,不知道是哪里的原因。pom文件独下载也下载不了,提示帐号密码

$ ./gradlew.bat
Incremental java compilation is an incubating feature.

FAILURE: Build failed with an exception.

  • What went wrong:
    A problem occurred configuring project ':shaka'.

Could not resolve all dependencies for configuration ':shaka:classpath'.
Could not resolve nl.eveoh:gradle-aspectj:1.6.
Required by:
project :shaka
> Could not resolve nl.eveoh:gradle-aspectj:1.6.
> Could not get resource 'https://maven.eveoh.nl/content/repositories/releases/nl/eveoh/gradle-aspectj/1.6/gradle-aspectj-1.6.pom'.
> Could not GET 'https://maven.eveoh.nl/content/repositories/releases/nl/eveoh/gradle-aspectj/1.6/gradle-aspectj-1.6.pom'. Received status code 401 from server: Unauthorized

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 34.358 secs

错误: 找不到或无法加载主类 JFlex.Main

$ gradle fatjar
Incremental java compilation is an incubating feature.
:shaka.lib:compileAspect
Download https://repo1.maven.org/maven2/org/aspectj/aspectjtools/1.8.4/aspectjtools-1.8.4.pom
Download https://repo1.maven.org/maven2/org/aspectj/aspectjtools/1.8.4/aspectjtools-1.8.4.jar
:shaka.lib:compileJava
:shaka.lib:deleteProperties UP-TO-DATE
:shaka.lib:processResources
:shaka.lib:classes
:shaka.lib:jar
:shaka.smali:generateGrammarSource UP-TO-DATE
:shaka.smali:generateJFlexSource
错误: 找不到或无法加载主类 JFlex.Main
:shaka.smali:generateJFlexSource FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':shaka.smali:generateJFlexSource'.

    Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1 mins 4.494 secs

尝试多次不行,只有反馈过来不知道是不是个人问题

Could not modify internal dex files. Please ensure you have permission.

7月30号的版本发编译会提示下面错误信息:
I: 使用 ShakaApktool 2.0.0-master-8f283df-20150730
I: 使用 Apktool 2.0.1-SNAPSHOT-master-f49335a 反编译 RAR.apk
I: 正在加载资源列表...
I: 反编译 AndroidManifest.xml 与资源...
I: 正在从框架文件加载资源列表: /Users/pwelyn/Library/apktool/framework/1.apk
I: 常规资源列表...
I: 反编译资源文件...
Could not modify internal dex files. Please ensure you have permission.

7月23号的版本可以正常反编译

apk文件下载链接: http://pan.baidu.com/s/1jGtOOsu 密码: eceh

Could not decode file, replacing by FALSE value

原因:
多种适配下,打包完成后,删除其中一种适配中的资源,可以引发.

所以用"FALSE"代替反而不好,可以直接跳过这个异常.


添加选项[ir|ignore_res_decode_error],忽略资源decode异常

源码编译出错

[ant:iajc] /mnt/e/backup/ShakaApktool/shaka/lib/src/main/java/com/rover12421/shaka/lib/ShakaStringUtil.java [error] The type java.lang.Throwable cannot be resolved. It is indirectly referenced from required .class files
[ant:iajc] (no source information available)
[ant:iajc]
[ant:iajc] 1 error

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':shaka:lib:compileAspect'.

compile errors: 1

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

  • Get more help at https://help.gradle.org

BUILD FAILED in 12s
1 actionable task: 1 executed

Rename ResResSpec windowTitleStyle to android:windowTitleStyle

最近在编译一些apk的时候会出现这个:
Rename ResResSpec windowTitleStyle to android:windowTitleStyle

I: 正在加载资源列表...
I: 反编译 AndroidManifest.xml 与资源...
I: 正在从框架文件加载资源列表: /home/lwb/apktool/framework/1.apk
I: 常规资源列表...
I: 反编译资源文件...
W: Rename ResResSpec windowTitleStyle to android:windowTitleStyle
I: 反编译 values / XMLs...
I: Re 反编译资源文件...
I: 反编译 classes.dex...
I: 复制 assets 和 libs...
I: 复制未知文件...
I: 复制原始文件...

好奇怪,然后回编译就会报错

I: 检查是否有被修改的代码...
I: 编译 smali 到 classes.dex...
I: 检查是否有被修改的资源...
I: 正在编译资源...
Exception in thread "main" com.rover12421.shaka.b.l: /home/lwb/下载/AppMgr/res/values/styles.xml:717: error: Error: No resource found that matches the given name: attr 'android:android:windowTitleStyle'.

/home/lwb/下载/AppMgr/res/values/styles.xml:838: error: Error: No resource found that matches the given name: attr 'android:android:windowTitleStyle'.

/home/lwb/下载/AppMgr/res/values/styles.xml:1362: error: Error: No resource found that matches the given name: attr 'android:android:windowTitleStyle'.

/home/lwb/下载/AppMgr/res/values/styles.xml:1370: error: Error: No resource found that matches the given name: attr 'android:android:windowTitleStyle'.

at com.rover12421.shaka.a.b.g.a(Unknown Source)
at b.a.d.a.a(Unknown Source)
at b.a.a.b(Unknown Source)
at b.a.a.a(Unknown Source)
at b.a.a.e(Unknown Source)
at b.a.a.a(Unknown Source)
at b.b.a.b(Unknown Source)
at b.b.a.a(Unknown Source)
at com.rover12421.shaka.cli.Main.main(Unknown Source)

Caused by: b.a.D: b.c.a: could not exec command: [/home/lwb/ShakaApktool/linux-x86/bin/aapt, p, --forced-package-id, 127, --min-sdk-version, 9, --target-sdk-version, 15, --version-code, 90003659, --version-name, 3.65, -F, /tmp/APKTOOL7140205780916340015.tmp, -0, resources.arsc, -0, arsc, -I, /home/lwb/apktool/framework/1.apk, -S, /home/lwb/下载/AppMgr/res, -M, /home/lwb/下载/AppMgr/AndroidManifest.xml]
at b.a.d.a.a(Unknown Source)
at b.a.d.l.a(Unknown Source)
at org.c.b.b.c.a(Unknown Source)
... 9 more
Caused by: b.c.a: could not exec command: [/home/lwb/ShakaApktool/linux-x86/bin/aapt, p, --forced-package-id, 127, --min-sdk-version, 9, --target-sdk-version, 15, --version-code, 90003659, --version-name, 3.65, -F, /tmp/APKTOOL7140205780916340015.tmp, -0, resources.arsc, -0, arsc, -I, /home/lwb/apktool/framework/1.apk, -S, /home/lwb/下载/AppMgr/res, -M, /home/lwb/下载/AppMgr/AndroidManifest.xml]
at b.e.i.a(Unknown Source)
... 12 more

麻烦大神看一下哦谢谢!

java.util.zip.ZipException: STORED entry missing size, compressed size, or crc-32

使用ShakaApktool if三星框架出现的错误
Exception in thread "main" brut.androlib.AndrolibException: java.util.zip.ZipException: STORED entry missing size, compressed size, or crc-32 at brut.androlib.res.AndrolibResources.installFramework(AndrolibResources.java:647) at brut.androlib.res.AndrolibResources.installFramework(AndrolibResources.java:592) at brut.androlib.Androlib.installFramework(Androlib.java:643) at brut.apktool.Main.cmdInstallFramework(Main.java:239) at brut.apktool.Main.main(Main.java:87) at com.rover12421.shaka.cli.Main.main(Main.java:95) Caused by: java.util.zip.ZipException: STORED entry missing size, compressed size, or crc-32 at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:207) at brut.androlib.res.AndrolibResources.installFramework(AndrolibResources.java:639) ... 5 more
附上样本下载
使用apktool 2.1.1可以正常if

decompile with no-src fail

In File
shaka/cli/src/main/java/com/rover12421/shaka/cli/apktool/DecodeCommand .line 177
decoder.setDecodeResources(ApkDecoder.DECODE_SOURCES_NONE);

I guess it should be
decoder.setDecodeSource(ApkDecoder.DECODE_SOURCES_NONE);

java.util.zip.ZipException: only DEFLATED entries can have EXT descriptor

样本:http://down.yoyou.com/azwy/mxdsy_yoyou.com.apk
错误信息:
I: 复制未知文件...
java.util.zip.ZipException: only DEFLATED entries can have EXT descriptor
at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:310)
at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:122)
at com.rover12421.shaka.apktool.lib.AndrolibAj.decodeUnknownFiles_after(AndrolibAj.java:331)
at brut.androlib.Androlib.decodeUnknownFiles(Androlib.java:209)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:158)
at brut.apktool.Main.cmdDecode(Main.java:165)
at brut.apktool.Main.main(Main.java:81)
at com.rover12421.shaka.cli.Main.main(Main.java:96)
I: 复制原始文件...

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.