Сейчас на форуме: _MBK_ (+7 невидимых)

 eXeL@B —› Основной форум —› flair, сигнатурки
Посл.ответ Сообщение

Ранг: 56.1 (постоянный), 9thx
Активность: 0.040
Статус: Участник

Создано: 23 сентября 2009 23:19
· Личное сообщение · #1

Пытаюсь сделать сигнатурки для библиотеки OpenSSL 0.9.8d
Скармливаю pcb.exe libeay32.lib, потом sigmake, правлю .exc (в общем-то почти везде поставил плюсик перед первым именем) - правда уже тут настораживает, что почему-то в одном месте туда записывается "группа" из одной функции, но её удаление ни к чему плохому не приводит.

Получаю файл сигнатур, вроде бы пока всё хорошо.
Пытаюсь применить его к программе - и почему-то резолвится лишь малая-малая часть функций.

В то же время, где-то надыбанная в сети сигнатура openssl прошлой версии распознавала намного больше (сейчас, почему-то, и из них перестало)

Сделал dumpsig. Сравнил со старыми версиями. И почему-то в некоторых (мб и во многих)функциях совпадают начальные байты(например, байт в байт совпавшая SHA_Init: 8B 44 24 04 33 C9 C7 00 01 23 45 67 C7 40 04 89 AB CD EF C7 40 08 FE DC BA 98 C7 40 0C 76 54 32), но разный указанный ниже CRC16 (или что там должно быть).

Ну и вопрос - что это может означать? вручную по результату dumpsig-а конечно можно определять функи, но почему этого не делает ида?

//если надо, могу приложить lib, exc и sig
10 C7 40 10 F0 E1 D2 C3 89 48 14 89 48 18 89 48 5C B8 01 00 00 00 C3



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 24 сентября 2009 11:26 · Поправил: Hexxx
· Личное сообщение · #2

это может означать что компилятор по разному собирает. Например прогу написали на VC6 а ты на VS2008 собираешь. Оно получается похоже но не то. Регистры к примеру другие заюзал компилер и превед.

Угадай почему на ARM не бывает сигнатур.

-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 56.1 (постоянный), 9thx
Активность: 0.040
Статус: Участник

Создано: 24 сентября 2009 17:32
· Личное сообщение · #3

в том-то и суть, что функции побайтно совпали



Ранг: 309.8 (мудрец), 21thx
Активность: 0.170
Статус: Участник

Создано: 24 сентября 2009 17:52
· Личное сообщение · #4

> если надо, могу приложить lib, exc и sig
надо давай.

-----
Shalom ebanats!




Ранг: 56.1 (постоянный), 9thx
Активность: 0.040
Статус: Участник

Создано: 24 сентября 2009 18:38
· Личное сообщение · #5

мой: multi-up.com/145900
старая версия, которая распознаёт вышеупомянутую _SHA1_Init : multi-up.com/145901



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 24 сентября 2009 22:51
· Личное сообщение · #6

Различия полюбому должны быть раз CRC16 разный, flair работает достаточно хорошо.

-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 56.1 (постоянный), 9thx
Активность: 0.040
Статус: Участник

Создано: 24 сентября 2009 23:12
· Личное сообщение · #7

а чёрт, действительно)
различие в одной строчке:
в исследуемой программе:
Code:
  1. mov     eax, 1

и в библиотеке:
Code:
  1. lea     eax, [ecx+1]
,
где ecx=0

Чем бы перекомпилировать)



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 24 сентября 2009 23:29 · Поправил: Hexxx
· Личное сообщение · #8

Вот тото и оно.
Это для делфи можно взять компонент написаный на C Builder'e и сигнатуры будут работать. С VC фиг вам, надо версию подбирать.

-----
Реверсивная инженерия - написание кода идентичного натуральному





Ранг: 199.6 (ветеран), 12thx
Активность: 0.10
Статус: Участник
www.uinc.ru

Создано: 07 октября 2009 03:21 · Поправил: DrGolova
· Личное сообщение · #9

> С VC фиг вам, надо версию подбирать.

Версия VC определяется на раз два, благо RTL (и сигнатуры) практически не менялись со времен версии 7


 eXeL@B —› Основной форум —› flair, сигнатурки
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати