好友
阅读权限20
听众
最后登录1970-1-1
|
如果保护系统的OP彻底被逆完,那么离shrinker的发布也就不远了,保护系统也就成了一层马奇诺防线
前几年看netsowell写的软件保护及分析技术中提到了一种Call链技术,其实我在这个思路上还多想了一层Stub
这种技术在一定程度上可以大大增加对静态分析工具的anti能力,而stub的存在就是让程序如果不真的跑起来,那么逆向者就只能同时分析两个相似的函数,增加工作量,call链就更不用说了
|针对自己写的函数
|把所有函数正则下来
|把每个函数(称为fun)复制一次,对第二次做删减增添处理,将未处理的称为funA函数,将处理后的称为funB函数,反之亦然,可以对每个函数随机选择A与B来处理
|设计一个加密解密算法,可以用设置一个随机值来作为明文
|设计一层stub,如果解密后匹配明文成功CALL funA,如果解密后匹配明文失败CALL funB
|匹配源码中的fun,将其替换为funstub(密文 的形式
|同时可以在过程中随机生成几条CALL链来增加对静态分析工具的混淆能力
|针对API
|我们可以不让保护系统对IAT或者入口进行保护,可以手动用GetProcAddress及LoadLibrary实现API的动态调用
|当然同时也可以设计为CALL链的形式
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|