Skip to main content
 首页 » 编程设计

python之使用其标题散列值查找特定窗口

2025年05月04日9think

我一直在反编译一段我认为是恶意软件的代码,我正试图弄清楚它的作用。它搜索特定的窗口标题并使用该窗口的名称来解码其其余指令。我试过通过它运行常见窗口标题列表(记事本、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 的字符串。看hash函数,貌似是单向的,有冲突。找到它试图抓取的窗口标题的好方法是什么?恶意网络预防站点上是否有常见窗口标题的列表?我应该进行字典攻击吗?最好的方法是什么?

请您参考如下方法:

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

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

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