【发布时间】:2019-04-02 23:38:40
【问题描述】:
我试图强化我的 APK 以防逆向工程。我知道阻止反编译 APK 是不可能的,但我看到一些 APK 在反编译过程中使用了一种技巧来抛出异常 apktool(不仅仅是 APK 工具,所有像 QARK 这样的反编译器都可以't return a classes.dex APK),所以我决定这样做,以便在逆向工程中花费更长的时间
在这里你可以看到硬化应用的一些结果: winrar:winrar.winrar2
apktool:
sudo apktool d -f app/TTT.apk --keep-broken-res
I: Using Apktool 2.3.1-dirty on TTT.apk
I: Loading resource table...
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
W: Multiple types detected! ignored!
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /home/lab/.local/share/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
Exception in thread "main" java.lang.NullPointerException
at brut.androlib.res.data.value.ResEnumAttr.serializeBody(ResEnumAttr.java:56)
at brut.androlib.res.data.value.ResAttr.serializeToResValuesXml(ResAttr.java:64)
at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResources.java:555)
at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:269)
at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:132)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:124)
at brut.apktool.Main.cmdDecode(Main.java:163)
at brut.apktool.Main.main(Main.java:72)
请为我解释一下,这怎么可能?(我需要实现细节)
【问题讨论】:
-
您确定这不仅仅是您正在查看的损坏的 APK 吗?如果 APK 在您尝试在 Android 上安装时确实有效,我发现您不太可能遇到错误。
-
嗨@JosephSible,回复坦克,是的,我很确定,看看关键应用程序,比如支付目的(apktool 在 98% 的 apk 上运行良好,2% 的 android 应用程序实现了这个技巧)
-
你能举一个这样的APK的具体例子吗?
-
那个链接失效了。连接超时。
-
@JosephSible,那个网站限制了IP地址地理,我在这里上传给你,在链接到期之前尽快下载file.io/15kaKt
标签: android reverse-engineering apktool hardening crypto-obfuscator