安卓模拟器Android SDK安装完整图文教程,在最新的Adroid4.0.3R2模拟器中,已经加入了GPU支持,可以支持OeGLES2.0标准,让开发者可以借助模拟器来测试自己的OeGL游戏。在去......
【爱加密】Android APP怎样防止工具逆向破解
由于大部分逆向工具都是线性读取字节码并解析,当遇到无效字节码时,就会引起反编译工具字节码解析失败。我们可以插入无效字节码到DEX文件,但要保证该无效字节码永远不会被执行(否则您的程序就会崩溃了!)。
工具/原料
- IDA 、C32Asm、DexFixer、Ijiami signer、/
首先
所需要的工具有:IDA、C32Asm、DexFixer!
我们新建一个测试类。为了绕过Dalvik运行时代码验证,BadCode.java要保证不被调用。(否则运行app,会出现java.lang.verifyerror常)
然后
生成apk,用ida打开classes.dex。并找到BadCode类的aaa方法。选中的三行代码对应”System.out.println("aaaa");”
切换到HexView-a视图,记录下指令码 “62 00 02 04 1A 01 8E 076E 20 19 10 10 00” 和对应偏移“0003A2A4”
使用C32asm,以十六进制的方式打开dex文件。按快捷键“Ctrl G”,定位到“0003A2A4”
把“62 00 02 04 1A 01 8E 07 6E 20 19 10 10 00”改为“12 01 38 01 03 00 FF FF 00 00 00 00 00 00”
Opcodes解释:
12 01 //const/4 v1, 0 //v1=0
38 01 03 00// if-eqz v1, loc_3A2AC //if(v1==0) 跳转到 loc_3A2AC:
FF FF //FFFF (Bad opcodes) //本行代码被跳过永远不会执行
// loc_3A2AC:
保存dex。把修改后的dex文件拖入DexFixer进行修复。
用修复后的dex覆盖原apk中的dex文件。
删除META-INF签名文件
使用签名工具,对apk重新签名。
Apk安装到手机,运行成功
下面试试反逆向工具的效果
Apktool:(很遗憾,新版本已经修复了这个错误)
Dex2jar:(反编译失败)
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章
- 详细阅读
- 详细阅读
-
Delphi XE7下如何创建一个Android模拟器调试详细阅读
Delphi XE7下如何创建一个Android模拟器调试,利用DelhiXE7我们可以进行多种设备程序的开发,尤其是移动开发应用程序得到不断地加强。在实际的Adroid移动程序开发中,如果我们直接用......
2023-03-17 368 Android