开工
2015年8月12日
这次项目计划用时5天.完成NZND壳的初级版本
设施如下:
- 反调试反StrongOD的能力
- 加解密机制保障下的任何时间里内存中都不会存在多个加密块的解密形式.
- ……
之前的一些思路:
2015年7月19日
它应当具有以下特点:
- 堆栈未必平衡
- 按需供应:只在必要的时候解密所需函数。
运行到哪里解密到哪里. - 解密应当基于其它模块加密状态。
即在不使用目标函数时将其按新的方式加密或者删除。
运行完哪里加密哪里.通过前面的状态解密后面的内容. - 空间排列的随机化。
方法是:通过分析源程序提取其逻辑网络,类似于IDA Pro做的那样。然后将这些结构进行在不改变逻辑执行过程的前提下随机打乱。然后重装组装。 - VM
对于代码的运行应当加入一个“解释执行”的机制,就像查表翻译,使这一切变得更加复杂。(这里可以加强)
把一种语言编程解释型语言.R++? - 试图隐藏调用API的过程,提前获得足够的API地址以供使用,并且做出一些没有严重后果的扰乱调用。
运行时库? - 验证,家常便饭。
蓝屏代码已经备好
2015.2.3.19:40
NZND是NoZuoNoDie的缩写,仅仅因为这句话简单有趣所以将我的这款壳起此名。
灵感来源于ZeroAccess——一款Rootkit的函数调用解压方式。
它应当具有以下特点:
- 按需供应:只在必要的时候解密所需函数。
- 解密应当基于其它模块加密状态。
即在不使用目标函数时将其按新的方式加密或者删除。 - 空间排列的随机化。
方法是:通过分析源程序提取其逻辑网络,类似于IDA Pro做的那样。然后将这些结构进行在不改变逻辑执行过程的前提下随机打乱。然后重装组装。 - VM
对于代码的运行应当加入一个“解释执行”的机制,就像查表翻译,使这一切变得更加复杂。(这里可以加强) - 试图隐藏调用API的过程,提前获得足够的API地址以供使用,并且做出一些没有严重后果的扰乱调用。
- 验证,家常便饭。