-
-
[原创]一种在内存中搜索DEX时减少搜索范围的技巧
-
-
[原创]一种在内存中搜索DEX时减少搜索范围的技巧
最近在向自己工具里添加内存Dump功能时发现了一个规律,不确定自己是不是火星了。
即观察maps时发现,大部分的内存段都比较短,但是有些特定的内存段特别长。
于是思考一个问题,什么情况下会需要比较长的连续内存?
Bingo,我想你也想到了,那就是真实DEX解密和加载的时候,需要找一段连续的内存去放这些数据。
所以如果出现了几段内存特别的长,那么DEX就有可能在里面。
于是我做了个实验,发现果真如此。
我首先搜索malloc的内存,因为解密的时候很可能需要分配一段足够长内存。
如图可见,这一段内存相对于别的段,特别长。
于是乎,就dump一下试试。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课