duangsuse::Echo
也不难, 修改 smali 代码即可
但得有个封装来帮助传输需要执行的代码
还要让引擎可以访问 Context, 这也不难 (Interpreter#set)
然后就可以随便使用里面的代码了(
明天可以试试 XD
ps: 如果用 IDEA 调试人家已经帮你实现好了
还要让引擎可以访问 Context, 这也不难 (Interpreter#set)
然后就可以随便使用里面的代码了(
明天可以试试 XD
ps: 如果用 IDEA 调试人家已经帮你实现好了
总结一下之前的调试经历, 和签名验证有关的:
额外收获是发现了 drakeet 的美化 Toast 类
是在给
> http://drakeet.me/android-advanced-proguard-and-security/
正所谓叶藏于林, 所以我们从叶子的营养来源 — libcore.so/Android API/Java API 来分析
叶子终于藏不住, 谁叫使用 Dalvik JDWP 调试起来很方便呢(逃跑 😆
结束了吗?几天过去依然没有结束
接下来对检出的几个类进行静态分析和修改, 将会使用大家最熟悉的 JaDX 和 smali 工具了
libcore.so!Java_com_drakeet_purewriter_Ww_www
libcore.so!checkSignature
libcore.so!loadSignature
com.drakeet.purewriter.tn
com.drakeet.purewriter.ts
com.drakeet.purewriter.to (possible)
com.drakeet.purewriter.aiw (possible)
com.drakeet.purewriter.agm (possible)
com.drakeet.purewriter.aiy (possible)
com.drakeet.purewriter.alf (possible)
com.drakeet.purewriter.aix (possible)
com.drakeet.purewriter.Ww
额外收获是发现了 drakeet 的美化 Toast 类
com.drakeet.purewriter.arm是在给
android.widget.Toast 下断点后发现的> http://drakeet.me/android-advanced-proguard-and-security/
正所谓叶藏于林, 所以我们从叶子的营养来源 — libcore.so/Android API/Java API 来分析
叶子终于藏不住, 谁叫使用 Dalvik JDWP 调试起来很方便呢(逃跑 😆
结束了吗?几天过去依然没有结束
接下来对检出的几个类进行静态分析和修改, 将会使用大家最熟悉的 JaDX 和 smali 工具了
最后的最后,我们还需要做的就是防止反编译者重新打包,全方位绝人之路呀,能做的就是在代码中加入签名验证,并做双向依赖。关于此我写过一个类似阿里黑匣子的东西,能够在 native 检查签名和加解密内容,后续也有计划整理开源,这里暂且就不多说了。