【爱加密】AndroidAPP利用无效字节码防止工具逆向破解(一)


立即下载 夏花
2024-04-12
00 工具 dex 文件 10 签名 Bad 节码 apk
700.2 KB

【爱加密】 Android APP 利用无效字节码防止工具逆向破解(一)
由于大部分逆向工具都是线性读取字节码并解析,当遇到无效字节码时,就会引起反编译工具字节码
解析失败。 我们可以插入无效字节码到 DEX 文件,但要保证该无效字节码永远不会被执行 (否则您的程序
就会崩溃了!)。
用到的工具:
IDA 、C32Asm 、DexFixer 、Ijiami signer (爱加密签名工具)、
(由于百度文档限制,使用的工具无法添加连接。请自行到网上下载,带来的不便请谅解!)
首先我们新建一个测试类。为了绕过 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 07 6E 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 :


00/工具////dex/文件/10/签名/Bad/节码/apk/ 00/工具////dex/文件/10/签名/Bad/节码/apk/
-1 条回复
登录 后才能参与评论
-->