【问题标题】:Finding a specific Window using its title hashed value使用标题哈希值查找特定窗口
【发布时间】:2012-01-14 05:59:03
【问题描述】:

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

【问题讨论】:

  • 如果恶意软件作者花费了这么多精力来混淆代码,我怀疑你不会在常用标题字典中找到窗口标题 - 那里会有一些 unicode 替换使标题看起来合理但难以猜测。除非有人以前遇到并发布过此恶意软件,否则您可能会被暴力搜索困住。

标签: python encryption hash reverse-engineering malware


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-02
    • 2015-11-11
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 2011-04-13
    • 2015-05-15
    相关资源
    最近更新 更多