Сейчас на форуме: vsv1, Alf (+4 невидимых)

 eXeL@B —› Вопросы новичков —› hexrays и патерны
Посл.ответ Сообщение

Ранг: 5.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 07 сентября 2015 00:10 · Поправил: rev4you
· Личное сообщение · #1

В коде часто встречается патерн вида, можно ли средствами ида\хексрейса перевести его в вид
result = memcmp(ptr1, ptr2, size ) ?
if ( !result )
foo()
else
bar() ?


Code:
  1.     v1400 = 4; // size
  2.     v1401 = (int)"1234"; // ptr1
  3.     v1402 = v1343; // ptr2
  4.     do
  5.     {
  6.       if ( *(_DWORD *)v1402 != *(_DWORD *)v1401 )
  7.         goto LABEL_5298;
  8.       v1400 -= 4;
  9.       v1401 += 4;
  10.       v1402 += 4;
  11.     }
  12.     while ( (unsigned int)v1400 >= 4 );
  13. if ( !v1400 ) 
  14.    foo()
  15. else
  16.  bar()


Имеется ввиду уже что-то готовое) тоесть выделяю фрагмент и указываю прототип.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 07 сентября 2015 00:27
· Личное сообщение · #2

можете скрипт написать который ищет в асм коде иды нужный паттерн и конвертирует в известную функцию из импорта
других вариантов нет



Ранг: 5.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 07 сентября 2015 21:27
· Личное сообщение · #3

Может подскажите какой либо простенький плагин который можно взять за основу\потренироваться ?
А к hexrays я так понимаю api нету?




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 07 сентября 2015 21:30 · Поправил: reversecode
· Личное сообщение · #4

у рейса есть плагины и апи
в папке plugins/hexrays_sdk

и смотрите в гугл прежде чем задавать очередной вопрос


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


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