ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|
Как найти основную функцию |

29.06.2008, 09:34
|
|
Познающий
Регистрация: 16.03.2008
Сообщений: 63
Провел на форуме: 86616
Репутация:
15
|
|
Как найти основную функцию
Запускаем прогу(любую) например чистильщик реестра, у него есть к примеру 3 кнопки на морде
1-запустить сканирование на ошибки в реестре
2-исправить найденные
3-выход из проги
хотелось бы пореверсить функцию которая выполняет скан в реестре (1) и написать на основании ее чтото лучше
вопрос - как попасть на эту функцию в оле(может какие плаги есть), получается бряку напрямую не поставишь(ибо не знаем на что ставить) а даже если и поставить на какуюто апи то это все равно ничего не даст так как апишка является винтиком в главной процедуре сканирования например под название Scan_reg ...жду коментов грамотных реверсеров 
|
|
|

29.06.2008, 10:53
|
|
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме: 4226446
Репутация:
1564
|
|
>>как попасть на эту функцию в оле(может какие плаги есть), получается бряку напрямую не поставишь(ибо не знаем на что ставить) а даже если и поставить на какуюто апи то это все равно ничего не даст так как апишка является винтиком в главной процедуре сканирования например под название Scan_reg
Ну вообще-то других способов и нет. Есть функции работы с реестром - на них ставь бряки или ищи обработчик нажатия кнопок сразу. В принципе на него ты итак выйдешь когда будешь трейсить по ret (Ctrl+F9) от функции на которой брякнулся. Определить его можно визуально: большое количество джампов (так как имеет место быть switch), функции работы с сообщениями вроде PostQuitMessage (так удобно делать и определять если у тебя с++).
Если у тебя делфи-прога, то удобно юзать декомпилятор, который сразу выдаст что-то вроде
Код:
procedure TfrmAbout.b1Click(Sender: TObject);
begin
// Address $53165C
end;
и считай твоя функция найдена
Какие могу быть тут плаги.
Реверсить только вручную. Смотреть откуда что вызывается и определять начало нужной функции. Только так.
Последний раз редактировалось 0x0c0de; 29.06.2008 в 11:39..
|
|
|

29.06.2008, 15:26
|
|
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме: 379101
Репутация:
136
|
|
>>хотелось бы пореверсить функцию которая выполняет скан в реестре (1) и написать >>на основании ее чтото лучше
Не самый легкий путь, тогда уж легче посмотреть импорт на предмет API функций, которые использует программы и изучив их создать что то свое. Отследи обращение
сканера к реестру (RegMon), но первое легче.
|
|
|

29.06.2008, 17:02
|
|
Познающий
Регистрация: 16.03.2008
Сообщений: 63
Провел на форуме: 86616
Репутация:
15
|
|
Сообщение от 0verbreaK
>>хотелось бы пореверсить функцию которая выполняет скан в реестре (1) и написать >>на основании ее чтото лучше
Не самый легкий путь, тогда уж легче посмотреть импорт на предмет API функций, которые использует программы и изучив их создать что то свое. Отследи обращение
сканера к реестру (RegMon), но первое легче.
В ипорте находятся все апи которые юзает прога если будет большой функционал например какой нибуть нортон антивирус замучаешься листать не то что бы изучать...
Оксокод более приземленна, по брякнутой апи постепенно выходим на основную функцию я так и думал просто решил удостовериться...а на счет плага не права, гдето слышал для оли вроде трейсер есть типа составляет дерево колов(call) и видно сколько вообще есть основных функций а все остальные уже как вложенные в них идут  только вот непомню на каком ресурсе видел очень бы пригодилась такая штука не мне одному...брякаемся на апи смотрим адрес потом трейсим плагом, находим брякнутый адрес в дереве вызовов и смотрим наверх кто "основной" вуаля...может у кого есть чтото подобное 
Последний раз редактировалось s0lar; 29.06.2008 в 17:10..
|
|
|

29.06.2008, 17:27
|
|
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме: 4226446
Репутация:
1564
|
|
>>Оксокод более приземленна по брякнутой апи постепенно выходим на основную функцию я так и думал просто решил удостовериться...
Вы бы лучше формулировали сразу нормально чего вы хотите. телепатов здесь нет и не было.
Если вам нужно дерево вызовов, то вы можете посмотреть их или в Ida или в ImmutityDbg. Там такие опции есть. Плагин для оли, если два вышеперечисленных инструмента вас не устраивают
http://tuts4you.com/download.php?view.90
>> Не самый легкий путь, тогда уж легче посмотреть импорт на предмет API функций, которые использует программы и изучив их создать что то свое. Отследи обращение
сканера к реестру (RegMon), но первое легче.
Вообще-то некоторые библиотеки могут подгружаться динамически. И ваша идея отправится лесом. Это раз. А монитор реестра в данной ситуации вообще никаким боком не нужен. Конечно, прога для работы с реестром обращается к реестру. Лог, выданный RegMon ничего не даст. Способ который предложила я - нормальный, универсальный и быстрый.
Последний раз редактировалось 0x0c0de; 29.06.2008 в 17:57..
|
|
|

29.06.2008, 18:48
|
|
Познающий
Регистрация: 16.03.2008
Сообщений: 63
Провел на форуме: 86616
Репутация:
15
|
|
Сообщение от 0x0c0de
>>Оксокод более приземленна по брякнутой апи постепенно выходим на основную функцию я так и думал просто решил удостовериться...
Вы бы лучше формулировали сразу нормально чего вы хотите. телепатов здесь нет и не было.
Если вам нужно дерево вызовов, то вы можете посмотреть их или в Ida или в ImmutityDbg. Там такие опции есть. Плагин для оли, если два вышеперечисленных инструмента вас не устраивают
http://tuts4you.com/download.php?view.90
>> Не самый легкий путь, тогда уж легче посмотреть импорт на предмет API функций, которые использует программы и изучив их создать что то свое. Отследи обращение
сканера к реестру (RegMon), но первое легче.
Вообще-то некоторые библиотеки могут подгружаться динамически. И ваша идея отправится лесом. Это раз. А монитор реестра в данной ситуации вообще никаким боком не нужен. Конечно, прога для работы с реестром обращается к реестру. Лог, выданный RegMon ничего не даст. Способ который предложила я - нормальный, универсальный и быстрый.
да кстати, по поводу динамических длллей это точно, так можно и половину функционала подгрузить потом
по поводу дерева вызовов, я не говорил что мне оно конкретно нужно как вариант предложил по поводу плага, а все стандартные фичи и ольги и иды по отображению дерева вызовов, так ильфака с его винграфом32 под причалом найдут когда то, так на людьми приколоться плаг тоже на винграфе построен, все не то...вот нашел неплохой плаг http://www.tuts4you.com/download.php?view.2006
но что то не разобрался как им пользоваться ...подскажите...а метод ручного реверсинга согласен самый унифицированный ибо мозг все еще в моде 
Последний раз редактировалось s0lar; 29.06.2008 в 18:52..
|
|
|

29.06.2008, 19:04
|
|
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме: 4226446
Репутация:
1564
|
|
Readme.txt читаем =) Брякаешься на какой-нибудь функции и активируешь OllyCallTrace. Потом смотришь его лог. Вот и все
|
|
|

29.06.2008, 20:23
|
|
Познающий
Регистрация: 16.03.2008
Сообщений: 63
Провел на форуме: 86616
Репутация:
15
|
|
Сообщение от 0x0c0de
Readme.txt читаем =) Брякаешься на какой-нибудь функции и активируешь OllyCallTrace. Потом смотришь его лог. Вот и все
http://www.harmonysecurity.com/OllyCallTrace.html уже почитал только не пойму зачем брякаться, чего не сделать проще загрузил в ольгу активировал плаг запустил трейсинг over по F8, протрейсил..показал результат...
|
|
|

29.06.2008, 20:48
|
|
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме: 4226446
Репутация:
1564
|
|
только не пойму зачем брякаться, чего не сделать проще загрузил в ольгу активировал плаг запустил трейсинг over по F8, протрейсил..показал результат...
----[Usage]-------------------------------------------------------------
Simply install the plugin and set a breakpoint on a location you want to
trace from, e.g. ReadFile() or WSARecv(). When this breakpoint is hit,
activate OllyCallTrace and press F7 to begin the automated single
stepping and recording of the call chain. When you are finished tracing
the code, pause execution or disable OllyCallTrace and view the
OllyCallTrace Log to see the recorded call chain.
дока... а если ты запустишь сразу на EP проги - ты задолбаешься трейсить. Запустишь плаг, через пару дней продолжишь ломать %)
|
|
|

29.06.2008, 21:02
|
|
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме: 379101
Репутация:
136
|
|
Вообще-то некоторые библиотеки могут подгружаться динамически. И ваша идея отправится лесом. Это раз. А монитор реестра в данной ситуации вообще никаким боком не нужен. Конечно, прога для работы с реестром обращается к реестру. Лог, выданный RegMon ничего не даст. Способ который предложила я - нормальный, универсальный и быстрый.
Я лишь предложил иной способ, а обратного я не утверждал!
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|