首页
论坛
专栏
课程

[求助]内存防dump

2016-8-16 15:42 4401

[求助]内存防dump

2016-8-16 15:42
4401
1、内存防dump的方法一般有什么。
2、一个思路是对dex文件中的code区域加密,当对应的函数执行的时候再对code进行解密。这样可以防止dex在内存中以连续地址存放。当加载code对应类的时候,需要对code的格式进行校验,因此在加载类的时候就需要解密code,问下应该hook哪个函数进行code的解密。
3、还有一个思路是将DexCode与Dex分离,然后重新计算DexCode与Dex起始地址的偏移,将新的DexCode的偏移更新到codeOff字段。
Struct DexMethod{
    u4 methodIdx;
    u4 accessFlags;
    u4 codeOff;
};
这里codeOff实际上是uleb128类型的,长度为1到5字节不等。新codeOff的值可能与原有的codeOff的位数不一样,也没法对该值进行正确的覆盖。
或者有没有更好的内存防dump的方法。求助大神。

[推荐]看雪企服平台,提供安全分析、定制项目开发、APP等级保护、渗透测试等安全服务!

上一主题 下一主题
最新回复 (7)
萌克力 2016-8-17 00:14
2
0
不知道你说的是不是pc端,反正pc端无解
yaojunhap 2016-8-17 13:33
3
0
说一个思路吧,用prctl来保护普通的用户空间的dump。至于DEX CODE,你不重写解释器或做VMP,还是分分钟DUMP的。执行时解密也没用,可以枚举类来初始化的。
jpcjiayou 2016-8-17 16:22
4
0
就是普通的手机端安卓APK防内存dump方面的,有没有比较好的隐藏code的方法。谢谢。
bbxt 2016-8-17 20:48
5
0
重写解释器?这个解释器可以参考DVM来写吗?另外android的VMP壳性能啊兼容性啊会不会不太行呢。。。小女子表示不懂大神快回我
bluecode 2016-8-17 20:49
6
0
我是来回最后一句的。
jieniruyan 2016-8-21 06:08
7
0
inotify监控maps和mem,dd?好像也没什么好办法。
yaojunhap 2016-8-24 14:25
8
0
目前主流加固:
1)执行前恢复
2)非连续
3)无法通过Offset+size来Dump
你如果要脱壳,就重组DEX,因为内存中没有完整的解密后DEX存在。
如果要加固,就自己逆向一下梆梆的SO,看雪上也有分析。
纯黑盒加固无法将保护流程和业务代码密切关联,目前强度都不高。
游客
登录 | 注册 方可回帖
返回