2

我一直在反编译一段我认为是恶意软件的代码,我正试图弄清楚它的作用。它搜索特定的窗口标题并使用该窗口的名称来解码其其余指令。我已经尝试通过它运行常见窗口标题(记事本、Document1 - Microsoft Word 等)的列表,以得出正确的窗口标题。

我重写了它在 Python 中使用的哈希值:

def encode( inStr ):
  a = 0x133F00D
  i = 0

  for j in inStr:
    temp = ord(j)*8 * ((i << 0xC)+1)
    a = a^ temp
    i = i + 1
  print hex(a)

我正在寻找一个给我值 0x2227205 的字符串。查看哈希函数,它看起来像是一种方式并且有冲突。找到它试图抓取的窗口标题的好方法是什么?恶意软件预防网站上是否有常见窗口标题的列表?我应该进行字典攻击吗?最好的方法是什么?

4

1 回答 1

0

如果窗口标题足够长,您将无法通过暴力攻击找到它,甚至可能无法帮助您找到与哈希匹配的标题。恶意软件可以检查是否有另一个自身实例。

我建议使用调试器在 vm 甚至更好的专用计算机(可能没有网络,或者检查活动的假网络)中运行恶意软件。然后,您可以检查是否可以在其中找到与哈希匹配的窗口。

如果您坚持使用该 python 代码,请确保您具有与恶意软件中相同的溢出行为(尤其是相同长度的整数)。

于 2011-12-08T08:28:25.963 回答