Поиск конкретного окна с использованием значения заголовка - PullRequest
2 голосов
/ 06 декабря 2011

Я декомпилировал фрагмент кода, который я считаю вредоносным, и пытаюсь выяснить, что он делает. Он ищет определенный заголовок окна и использует имя этого окна для декодирования остальных своих инструкций. Я попытался просто запустить списки общих заголовков окон (Блокнот, Документ 1 - 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. Глядя на хеш-функцию, выглядит, что она односторонняя и имеет коллизии. Какой хороший подход к поиску заголовка окна, который он пытается получить? Есть ли на сайте по профилактике сбоев общие заголовки окон? Должен ли я запустить атаку по словарю? Какой лучший подход?

1 Ответ

0 голосов
/ 08 декабря 2011

Если заголовок окна достаточно длинный, вы не найдете его с помощью грубой атаки и, возможно, он даже не поможет вам найти заголовок, который соответствует хешу. Вредонос может просто проверить, существует ли другой экземпляр самого себя.

Я бы предложил запустить вредоносное ПО на виртуальном компьютере или даже на другом выделенном компьютере (возможно, без сети или поддельной сети для проверки активности) с помощью отладчика. Затем вы можете проверить, можете ли вы найти там окна, соответствующие хешу.

Если вы придерживаетесь этого кода Python, между прочим, убедитесь, что у вас такое же поведение переполнения, как и в вредоносной программе (особенно с той же длиной целых чисел).

...