修改入口点 更好的知道攻击者的手法,能帮助我们的更好防守。 入口点是程序最开始执行的那个函数,通常以前四十个字节作为特征值来进行判断,因此通过修改PE文件入口点来迷惑 OD打开后光标默认在入口点 此时记下前三条汇编指令以及第四条的地址备用 0046620E > 55 PUSH EBP 0046620F 8BEC MOV EBP,ESP 00466211 6A FF PUSH -1 -->00466213<-- 对前三条进行nop填充,并找到全0区域进行汇编-->00467642 分别编辑前面备用的汇编语句,再加上一条跳转语句跳回去,将头尾顺序置换 复制到可执行文件->全部复制->弹窗后保存文件 使用peditor修改入口点地址 将入口点地址修改为上文修改全0区域的第一条汇编语句地址-->00467642 yep~ 花指令 以一些没有实际作用的指令来伪装欺骗起到一个类似加密的干扰作用,且不影响程序的运行结果。 工具一键加花-->提取花指令-->自定义添加 这时我又换了一个加花工具--那么是不是可以嘿嘿嘿 将其花指令提取纳入另一个加花工具中呢 尝试提取花指令 -->二进制复制--> 9C 60 E8 00 00 00 00 5D 83 ED 07 8D 8D 34 FC FF FF 80 39 01 0F 84 42 02 00 00 61 9D 68 00 E0 4E 00 C3 回看语句找到原程序入口点 --> 68 00E04E00 打开花指令添加 输入二进制复制出来的花指令,点击"68"可以得到其序号,填入跳转位置 纳入囊中 手工写入花指令 利用工具找到空白区域进行写入 在不打破堆栈平衡的条件下构造指令,可以是等值、nop填充位移、添加或删除完整的对应指令语句、跳转指令等语句操作,通过这些来延伸免杀的周期 push ebp mov ebp,esp add esp,1 add esp,-1 //等值 mov eax,0046620E//把入口点数据送入eax push eax//压入堆栈 retn//堆栈取回地址执行返回入口点