首页
社区
课程
招聘
[原创]**应用加固的脱壳分析和修复
发表于: 2015-2-12 17:29 56944

[原创]**应用加固的脱壳分析和修复

2015-2-12 17:29
56944
收藏
免费 3
支持
分享
最新回复 (53)
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
楼主的ida是哪个版本啊,这么高端,F5出来的代码跟源码一样,我的F5出来的还是dword_4E290 = sub_75C0(v4);看的累啊。
2015-2-13 12:01
0
雪    币: 74
活跃值: (748)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
看不懂,mark一下以后看,感谢分享
2015-2-13 16:53
0
雪    币: 2015
活跃值: (902)
能力值: ( LV12,RANK:1000 )
在线值:
发帖
回帖
粉丝
28
这样的文章才能算是精华!
2015-2-13 22:02
0
雪    币: 35
活跃值: (139)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
29
赞分析的很nice啊
2015-2-14 00:42
0
雪    币: 144
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
标记一下,开始学习了
2015-2-14 15:13
0
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
31
感谢分享。
2015-2-26 14:32
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
干得漂亮
2015-2-28 10:19
0
雪    币: 1689
活跃值: (379)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
33
前来膜拜,顶顶顶!
2015-3-1 15:59
0
雪    币: 3366
活跃值: (1353)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
34
楼主 用您的修复版的还是报错出来异常。。。奇怪了
2015-3-1 19:10
0
雪    币: 238
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
35
好文! nice job!
2015-3-2 16:11
0
雪    币: 79
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
楼主的分析不错,基本了解大致的过程了
2015-3-7 11:56
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
37
你好,看到你修改过的apktool的里面解析AXML用了这样的代码:
    if (DeAndroidManifest == 1)
    {
      if ((resourceID < 16842752) || (resourceID > 16843622))
      {
        LOGGER.info(String.format("Repair ResourceID Bad ID:[%d]", new Object[] { Integer.valueOf(resourceID) }));
        resourceID = 16842755;
      }
    }
请问
1.DeAndroidManifest 这个变量什么时候赋值为1?只看到一开始有初始化为0,没看到有相关的赋值语句啊。
2.((resourceID < 16842752) || (resourceID > 16843622))以及16842755这三个id是怎么得来的呢?

望能指点!
2015-3-22 20:40
0
雪    币: 45
活跃值: (22)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
38
分析报告写的很有条理,赞一个
2015-3-22 23:50
0
雪    币: 612
活跃值: (996)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
39
1.DeAndroidManifest 这个标志是在开始准备解析AndroidManifest的赋值,作为当前要解析AndroidManifest.xml的标志。
2.resourceID < 16842752 和 resourceID > 16843622 是正常的attr ID是从0x1010000到0x1010366结束。这个你可以看就知道https://android.googlesource.com/platform/frameworks/base/+/c8834722d5591d1381dc199f04a544a6b11b74bd/core/res/res/values/public.xml 最后16842755(0x1010003)这个,其实是我随意弄一个正常的arrt ID,让apktool能够正常解析反编译成功。
2015-3-23 10:49
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
碉堡了,收藏
2015-5-19 16:45
0
雪    币: 405
活跃值: (10)
能力值: ( LV9,RANK:1130 )
在线值:
发帖
回帖
粉丝
41
学习下。。。看不懂
2015-5-23 18:19
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
42
楼主,用你的工具还是出错:
I: Using Apktool v2.0.0 RC3 Fix-ZzAge on probe-tencent.apk
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Multiple res specs: attr/fasten
        at brut.androlib.res.data.ResType.addResSpec(ResType.java:58)
        at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:213)
        at brut.androlib.res.decoder.ARSCDecoder.readConfig(ARSCDecoder.java:188)
        at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:156)
        at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:113)
        at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:78)
        at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:47)
        at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:626)
        at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:74)
        at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:66)
        at brut.androlib.Androlib.getResTable(Androlib.java:63)
        at brut.androlib.ApkDecoder.setTargetSdkVersion(ApkDecoder.java:209)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:92)
        at brut.apktool.Main.cmdDecode(Main.java:165)
        at brut.apktool.Main.main(Main.java:81)
2015-5-28 18:11
0
雪    币: 64
活跃值: (134)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
受教了,谢谢
2015-9-10 15:13
0
雪    币: 28
活跃值: (111)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
44
向楼主学习
2015-9-13 08:55
0
雪    币: 22
活跃值: (242)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
45
好文,学习了!
2015-9-13 08:59
0
雪    币: 57
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
47
请问一下,这样修改,原来加壳的方法codeoff是0,现在重定向偏移,字节会变多,不是会覆盖下一个数据吗?
2015-12-14 18:53
0
雪    币: 206
活跃值: (840)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
48
00 -> 80 00
         80 80 00
2015-12-14 19:21
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
49
nice,但是后面就看的好迷
2015-12-18 16:34
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
50
楼主,请教一下 是怎么看出来的TX加固会把所有被加固过的Method的原始数据存一份在文件尾部的么?func_ShellFixDexMethod函数中?还是locat中?
2015-12-22 14:12
0
游客
登录 | 注册 方可回帖
返回
//