alibaba / AndFix

AndFix is a library that offer hot-fix for Android App.
Other
6.97k stars 1.6k forks source link

app加固后,andfix出错 #54

Open tonyyang123 opened 8 years ago

tonyyang123 commented 8 years ago

使用的是360加固,加固后app加载out.apatch时报错

10-14 03:14:06.137 2541-2541/? E/dalvikvm﹕ Unable to extract+optimize DEX from '/data/data/com.yang.tony.andfixdemo/files/apatch/out.apatch' 10-14 03:14:06.137 2541-2541/? E/AndFixManager﹕ pacth java.io.IOException: unable to open DEX file at dalvik.system.DexFile.openDexFile(Native Method) at dalvik.system.DexFile.(DexFile.java:109) at dalvik.system.DexFile.loadDex(DexFile.java:149) at com.alipay.euler.andfix.AndFixManager.fix(Unknown Source) at com.alipay.euler.andfix.patch.PatchManager.loadPatch(Unknown Source) at com.alipay.euler.andfix.patch.PatchManager.addPatch(Unknown Source) at com.yang.tony.andfixdemo.MainApplication.onCreate(Unknown Source) at com.qihoo.util.StubApplication.onCreate(StubApplication.java:74) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1000) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4391) at android.app.ActivityThread.access$1300(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1294) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method)

出错是在AndFixManager的fix方法下: final DexFile dexFile = DexFile.loadDex(file.getAbsolutePath(),optfile.getAbsolutePath(),Context.MODE_PRIVATE);

不知道如何才能做到兼容,其他加固平台还未试过^-^

zhy1905 commented 8 years ago

@tonyyang123 360加固防止了hook,换其他的加固吧

liericiyan commented 8 years ago

使用源生的生成差异补丁,然后在对源生的apk加固,之后在用加固后的apk去加载补丁,测了下可以使用

tonyyang123 commented 8 years ago

是的,已经解决,只是补丁里的dex文件很容易被反编译

gordonpro commented 8 years ago

@tonyyang123 差异补丁的dex文件 再混淆一下。