January 2012 Archives

Случайно наткнулся на утилиту SnD Reverser Tool. В частности, позволяет просканировать PE на константы криптоалгоритмов.

Появилась возможность немного пореверсить, разбор таска Artifact.

Win32 PE, не упакован. В строках есть "Base must be binary (MR_ALWAYS_BINARY defined in mirdef.h ?)", а в импорте "QueueUserAPC". Первое говорит о прилинкованной библиотеке Miracl. Второе - об асинхронных процедурах.

Делаем/применяем сигнатуры IDA для Miracl. В моем случае сигнатуры не сработали.

IDA находит _main по адресу 0x00403700, ее псевдокод:

hFile = CreateFileA("ctf-pass-file.txt", GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
ReadFile(hFile, g_pFileBuffer, 0x10u, &NumberOfBytesRead, 0);
...
SleepEx(1u, TRUE);
if (g_pDecisionFunc(g_pFileBuffer))
{
    printf("fail!\n");
}
else
{
    printf("you did it!\n");
    ...
    szHash = GetHash();
    printf("%s\n", szHash);
}

Создаем файл со строкой 16 символов, патчим переход по адресу 0x00403799, чтобы всегда сваливаться на ""you did it!". Запускаем, получаем какой-то хэш, как ответ не подходит.

Ставим брейк на 0x00403791 на g_pDecisionFunc(g_pFileBuffer). Запускам под отладчиком, Olly падает.

About this Archive

This page is an archive of entries from January 2012 listed from newest to oldest.

September 2011 is the previous archive.

February 2012 is the next archive.

Find recent content on the main index or look in the archives to find all content.