使用十六进制编辑绕过 av 签名

逆向工程 聚乙烯 十六进制 二进制编辑
2021-06-24 21:20:56

我最近开始研究绕过 AV,方法是在nc.exe (NetCat)上找到一个 AV 签名并更改它以查看它是如何工作的。我已经用分裂法找到了签名的地方。然后,我应该用十六进制编辑器打开nc.exe并更改 Sig。

但是,这是它的样子:

在此处输入图片说明

并且该文件将通过编辑(添加或删除字节)而损坏。

我的问题是:在这种情况下我应该怎么做编辑?我应该知道什么才能成功进行二进制编辑?

如果我弄错了,请告诉我应该寻找什么。


注意:签名在文件的.bss.text部分

1个回答

我建议使用诸如 OllyDbg 或 IDA PRO 之类的东西,而不仅仅是简单的 HexEditor,因为仅使用 HexEditor 您不知道您正在编辑 PE 的哪个部分。例如,您可以编辑.textPE 部分并编辑程序的重要部分,而不是.idata仅存储变量数据的 .data 部分。

因此,AV 可用于检测恶意软件的几种方法是:

  1. 一个众所周知的恶意软件的整个文件的校验和
  2. 校验PE.text(也可以命名.code)部分,因为默认情况下这些页面没有标记为 WRITE 权限
  3. 例如OpenProcess恶意模式的校验和WriteProcessMemory通常用于将 DLL 或代码注入其他进程。我们可以为那部分代码创建签名

绕过方法1:

通过随机十六进制编辑,您将设法避免 AV 检测方法 1(见上文),但方法 2 和 3 仍会检测到恶意软件。如果您没有覆盖任何对您的程序执行至关重要的内容。

绕过方法2:

重写一条简单的指令或制作一个JMP代码洞穴并将覆盖的代码放在那里,然后 JMP 返回到下一条指令。因此,您将执行完全相同的代码,但不同的流程和 .text 部分校验和会有所不同。

绕过方法3:

为了能够绕过方法 3 - 您需要在每次调用之间添加垃圾代码或将 JMP 添加到代码洞穴并在那里设置指令。因此,代码仍然相同,但字节签名将完全不同。

最好先学习汇编语言,学习如何使用 IDA PRO 或 OllyDbg 并学习修补程序,然后再进行更复杂的事情,例如绕过 AV。