assembly shell 代码搜索字节字符串:0C330408Bh

j2cgzkjk  于 2023-03-12  发布在  Shell
关注(0)|答案(2)|浏览(80)

我正在学习恶意软件(Blackhole Exploit)的工作原理。我从一个恶意代码中提取了 shell 代码。除了搜索字节字符串之外,我发现了所有问题。有人能帮我吗?为什么这个 shell 代码(大多数恶意 shell 代码)会搜索这个特定的字符串?搜索代码如下所示:

mov   eax, 0C330408BH;
inc   esi
cmp   dword ptr [esi], eax
jne   //back to top//
ijxebb2r

ijxebb2r1#

如果你把魔术字节转换成little-endian格式,然后反汇编,你会得到以下代码:

8B 40 30    mov     eax, [eax+30h]
C3          retn

所以,shellcode正在搜索这个指令序列,我不是100%确定,但我认为它是用来在内存中查找kernel 32图像的(因为这个序列通常出现在内存中)。

mbyulnm0

mbyulnm02#

作为对Igor答案的补充,我建议您阅读这篇文章http://skypher.com/index.php/2010/11/17/bypassing-eaf/。该代码在系统DLL中查找特定指令,以使用它们从内存中的任意位置阅读数据或向内存中的任意位置写入数据。因此,要使用此代码,只需将(address-0x 30)放入eax,并调用上面的序列。

相关问题