Как стать автором
Поиск
Написать публикацию
Обновить

Конференция DEFCON 17. Посмеёмся над вашими вирусами! Часть 2

Время на прочтение13 мин
Количество просмотров3.9K
Всего голосов 18: ↑14 и ↓4+10
Комментарии3

Комментарии 3

и мы можем проследовать по перекрёстным ссылкам для установки указателя на нужном файле. Так мы попадаем именно в точку расположения зависимого кода шифрования.
[CENSORED]!

Давайте я помогу:
… You can further verify that by just taking that and follow the cross-references to SetFilePointer in this case, and here we are exactly at that point of the location-dependent encryption code.

… вы можете проверить его, загрузив в IDA и пробежавшись по ссылкам на SetFilePointer. И вот? мы точно в месте расположения кода, реализующего шифрование зависящее от местоположения (см. про SetFilePointer в первой части)

Дальше читать не осилил. Извините за болезненную критику, вы наверняка устали, но перевод не закончен.
Здесь мы снова возвращаемся к функции rand. Важной частью этой функции является самая последняя инструкция, которую я пометил зелёной стрелкой – она выполняет любое конечное значение в EAX с величиной 7FFF

Простите, что-что она делает?


И да, вопрос по материалу — какого черта нужно было дизассемблировать функцию rand, когда можно было открыть документацию, и прочитать там:


The rand function returns a pseudorandom integer in the range 0 to RAND_MAX (32767).
Видимо, авторы не осознавали, что это ограничение, которое запускает Windows, не возвращает целому числу тот размер, который они хотели.

Ограничение запускает Windows? Возвращает целому числу размер? Что это за машинный перевод? И так весь текст. Читать невозможно, приходится в голове переводить на английский чтобы хоть что-то из этого словесного салата приобрело подобие смысла.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий