首页
社区
课程
招聘
[原创]持续更新的APK防护,让工具崩溃的手段
发表于: 2013-7-6 08:15 18036

[原创]持续更新的APK防护,让工具崩溃的手段

2013-7-6 08:15
18036

ruction22c.java:118)
        at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(Instructio
nIterator.java:82)
        at org.jf.dexlib.CodeItem.readItem(CodeItem.java:154)
        at org.jf.dexlib.Item.readFrom(Item.java:77)
        at org.jf.dexlib.OffsettedSection.readItems(OffsettedSection.java:48)
        at org.jf.dexlib.Section.readFrom(Section.java:143)
        at org.jf.dexlib.DexFile.<init>(DexFile.java:431)
        at org.jf.dexlib.DexFile.<init>(DexFile.java:267)
        at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:58)
        at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:42)
        at brut.androlib.Androlib.decodeSourcesSmali(Androlib.java:74)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:90)
        at brut.apktool.Main.cmdDecode(Main.java:168)
        at brut.apktool.Main.main(Main.java:91)
Caused by: java.lang.IndexOutOfBoundsException: Index: 24600, Size: 452
        at java.util.ArrayList.rangeCheck(ArrayList.java:604)
        at java.util.ArrayList.get(ArrayList.java:382)
        at org.jf.dexlib.IndexedSection.getItemByIndex(IndexedSection.java:75)
        ... 18 more
Error occured while retrieving the field_id_item item at index 24600
Error occured at code address 0

    这种错误可能一些人都见过了,我第一次见是在黑帽会  老外ruby程序的pdf里面,可以防住一些工具的逆向,使其获取不到smali进行再次打包,在和论坛的搭档 梦入神机 经过一段时间的研究,通过修改apktool源码实现了,并且批量应用在我们的游戏上,在这种防护在被当乐搞定之后也不用了,所以放出来,曾经应用过的防护还有混淆类名和路径名成乱码;axml解析资源报错,持续更新,先放上字段脚标溢出的.
     供上的apktool经过修改 可以复制一个文件并且对这个文件的字段进行越界混淆,并且可以解开混淆过的apk。现在和 rover 持续完成修改版apktool  代码地址: https://github.com/rover12421/RsApktool
下载地址:
http://pan.baidu.com/share/link?shareid=1154960514&uk=1208889887

补充,使用方法:先用d -f 的命令把apk解开,解出smali文件,再回编译,你的apk就被字段混淆了,可以防御原版apktool,dex2jar等常见工具,回编译时候的命令apktool.jar b -z path(path为文件路径)


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 5
支持
分享
最新回复 (20)
雪    币: 189
活跃值: (192)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
哈哈,大饼啊,啥时候也这面高调了
2013-7-6 08:55
0
雪    币: 507
活跃值: (130)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
不是我逼得…
2013-7-6 09:03
0
雪    币: 189
活跃值: (192)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
有基情!!!
2013-7-6 09:06
0
雪    币: 189
活跃值: (192)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
亚历山大,这两天我也加两个功能,然后make出一个bate版本吧
2013-7-6 09:07
0
雪    币: 507
活跃值: (130)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
嗯嗯,我现在安心看书呢...先磨刀...稳步来走
2013-7-6 09:17
0
雪    币: 189
活跃值: (192)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
周末起这么早的乖孩子啊
要不是出去玩,我才懒得起来,这鬼天气,到周末就下雨
还是比较还念北京的天气啊
2013-7-6 09:20
0
雪    币: 507
活跃值: (130)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
北京明天也下雨,昨晚两点多睡的,做梦还在看书,于是就起来继续看吧…
2013-7-6 09:24
0
雪    币: 189
活跃值: (192)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
别给自己这么大鸭梨,会疯的
不说了,出去玩罗~~~冒雨去海边
2013-7-6 09:26
0
雪    币: 158
活跃值: (196)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
赞一个,这个太给力
2013-7-6 09:34
0
雪    币: 158
活跃值: (196)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
build.gradle' line: 34

* What went wrong:
A problem occurred evaluating project ':brut.apktool.smali:dexlib'.
> Project with path ':brut.apktool.apktool-cli' could not be found in project ':
brut.apktool.smali:dexlib'.
露珠啊,编译不过去
2013-7-6 15:45
0
雪    币: 507
活跃值: (130)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
12
eclipse需要下载gradle插件的,检查一下是否下载完全.jdk需要1.7.eclipse的环境配置好后,导入工程的时候,也会自动下载配置更新一些东西的.
2013-7-6 19:39
0
雪    币: 158
活跃值: (196)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
原来是在eclipse是编译
2013-7-8 08:43
0
雪    币: 298
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
支持楼主~~~防IDA从包上入手能做不到不?
2013-7-8 17:40
0
雪    币: 224
活跃值: (42)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
MZW的童鞋你好~你们的dcn_xx和woxxx_dcn变量名大亮~ XD
2013-7-9 11:59
0
雪    币: 9
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
你坏死了~楼上的@_@
2013-7-9 15:50
0
雪    币: 213
活跃值: (147)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
gradle编译问题不少

FAILURE: Build failed with an exception.

* What went wrong:
Circular dependency between the following tasks:
:brut.apktool.smali:baksmali:classes
\--- :brut.apktool.smali:baksmali:compileJava
     +--- :brut.apktool.smali:baksmali:jar
     |    \--- :brut.apktool.smali:baksmali:classes (*)
     +--- :brut.apktool.smali:dexlib:jar
     |    \--- :brut.apktool.smali:dexlib:classes
     |         \--- :brut.apktool.smali:dexlib:compileJava
     |              +--- :brut.apktool.smali:baksmali:jar (*)
     |              +--- :brut.apktool.smali:dexlib:jar (*)
     |              +--- :brut.apktool:apktool-cli:jar
     |              |    \--- :brut.apktool:apktool-cli:classes
     |              |         \--- :brut.apktool:apktool-cli:compileJava
     |              |              +--- :brut.apktool.smali:baksmali:jar (*)
     |              |              +--- :brut.apktool.smali:dexlib:jar (*)
     |              |              +--- :brut.apktool:apktool-cli:jar (*)
     |              |              \--- :brut.apktool:apktool-lib:jar
     |              |                   \--- :brut.apktool:apktool-lib:classes
     |              |                        \--- :brut.apktool:apktool-lib:compileJava
     |              |                             +--- :brut.apktool.smali:baksmali:jar (*)
     |              |                             +--- :brut.apktool.smali:dexlib:jar (*)
     |              |                             +--- :brut.apktool:apktool-cli:jar (*)
     |              |                             \--- :brut.apktool:apktool-lib:jar (*)
     |              \--- :brut.apktool:apktool-lib:jar (*)
     +--- :brut.apktool:apktool-cli:jar (*)
     \--- :brut.apktool:apktool-lib:jar (*)

(*) - details omitted (listed previously)
2013-7-16 18:00
0
雪    币: 189
活跃值: (192)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
18
已经修复了.
gradle fatjar 是生成可独立运行jar的
2013-7-18 10:36
0
雪    币: 1
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
smali2.0b6已经可以顺利解出smali文件,求大神更新工具。。。
2013-9-23 15:30
0
雪    币: 216
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
请问:原理是什么?是添加opcode吗?没细读代码,想问一下,若想大量添加opcode,可以吗?
另外,这种方法已经失效了吗?
2013-10-12 10:03
0
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
有了盾,肯定就有矛来破,这个是永恒不变的道理,没有破不了的程序,呵呵
2013-10-12 12:11
0
游客
登录 | 注册 方可回帖
返回
//