![]() |
eXeL@B —› Основной форум —› Поиск CRC |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 05 февраля 2006 22:44 · Личное сообщение · #1 Кто как ищет функцию которая считает CRC. Ща в мня полетят камни. CreateFile, ReadFile. Это понятно и не очень сложно когда вся прога- один екзешник. А вот представте что у неё 10-20 длл-ок и несколько из них защищены CRC. ReadFile происходит сотни, а то и тысячи раз. F5 топтать замучишся. А если CRC считается не всего файла, а лишь важных участков кода. Давайте делиться своими наработками и приёмами. ![]() |
|
Создано: 05 февраля 2006 23:30 · Поправил: arnix · Личное сообщение · #2 Есть плагин такой у PEiD, называется kanal [правка] Я еще раз прочитал твой вопрос и понял что возможно я не правильно понял твой вопрос. Этот плагин только находит сигнатуры таблиц константных циферок известных хеш и крипт функций, но конечно не находит саму функцию в которой они используются, но найти будет не сложно, надо ставить braek on access на найденные конст. значения и смотреть когда они используются. А если испоьзуется самодельный алгоритм считывания хеша то плагин конечно уже не поможет. ![]() |
|
Создано: 05 февраля 2006 23:38 · Личное сообщение · #3 |
|
Создано: 05 февраля 2006 23:41 · Личное сообщение · #4 |
|
Создано: 05 февраля 2006 23:56 · Личное сообщение · #5 |
|
Создано: 06 февраля 2006 00:09 · Личное сообщение · #6 |
|
Создано: 06 февраля 2006 00:29 · Поправил: intty · Личное сообщение · #7 ну если так, тогда как было сказано выше нужно смотреть реакцию приложения на модификацию. потом искать ф-ию проверки crc, она может одна применятся в нескольких файлах, или вообще вынесена в dll. хотя опять же реакция приложения может быть и через неделю/месяц... или ф-ия проверки целостности можно реализовать по-разному.. наверное тут трудно найти универсальное решение ![]() |
|
Создано: 08 февраля 2006 19:13 · Личное сообщение · #8 |
|
Создано: 08 февраля 2006 19:23 · Поправил: Hellspawn · Личное сообщение · #9 PalR пишет: А чем можно лог ввиде текстого файла скинуть, что бы сравнить как прога реагирует? в olly есть такая фишка вроде... run trace? там и в файл мона... тока я ей не пользуюсь +) и ещё есть такая прога... jmp log как то так называется, но она довольно долго работает %( да и не нашёл я её что то на харде... ----- [nice coder and reverser] ![]() |
|
Создано: 08 февраля 2006 19:24 · Личное сообщение · #10 |
|
Создано: 08 февраля 2006 19:25 · Поправил: Jupiter · Личное сообщение · #11 |
|
Создано: 08 февраля 2006 19:28 · Поправил: Hellspawn · Личное сообщение · #12 newborn пишет: Шпиёном каким-то, помоему Керберос это делает и ApiSpy, я ими пользуюсь для таких целей. я так понял он имел ввиду, проследить как выполнялись сравнения в проге... и условные прышки.. что бы выявить.. с какого момента прога пошла не по тому пути... а api шмионы это не могут =\ (можно отследить лишь последствия мессагебох или выход из проги) --> Jupiter надо предыдущие посты читать иногда =) я же там всё запостил... ----- [nice coder and reverser] ![]() |
|
Создано: 08 февраля 2006 19:39 · Личное сообщение · #13 Hellspawn пишет: я так понял он имел ввиду, проследить как выполнялись сравнения в проге... и условные прышки.. что бы выявить.. с какого момента прога пошла не по тому пути... а api шмионы это не могут =\ (можно отследить лишь последствия мессагебох или выход из проги) А точно, непонял вопроса, сорри, чё-то я сёдня туплю. ----- ~ the Power Of Reversing team ~ ![]() |
|
Создано: 08 февраля 2006 19:40 · Поправил: Jupiter · Личное сообщение · #14 Hellspawn ты б на время поста посмотрел! то, что мы написали почти одно и то же - не значит, что я не читал посты. когда я начал писать ответ - последний пост был PalR, твоего поста не было. я убрал содержимое своего поста, чтобы тебя не смущать, но ты и сам будь внимательнее, смотри на время постов. ----- EnJoy! ![]() |
|
Создано: 08 февраля 2006 19:44 · Личное сообщение · #15 |
|
Создано: 11 февраля 2006 19:02 · Поправил: Asas · Личное сообщение · #16 |
|
Создано: 12 февраля 2006 13:16 · Личное сообщение · #17 Asas Спасибо канешно. Только мне не это надо то. Как реализовать я знаю. Нужно узнать где в подопытной проге это происходит. Там при помощи утечек памяти али ещё чего ![]() Поковыряв прогу мне показалось что вычисляется CRC и результат сравнения 0 | 1 кладется в некоторую переменную. А при наступлении некоторого события, происходит проверка этой переменной и вылет по таймеру. При этом проверка может произойти и через 5 минут и через 1 час работы. Ловить на таймер не представляется возможным по причине его очень частого использования и полезными функциями самой проги. Я пробовал подгонять в уже пропадченном файле CRC при помощи известного плагина, но прога обнаруживает что пропатчена. Возможно канешно используется свой алгоритм подсчёта. Даже скорее всего свой. ![]() |
|
Создано: 12 февраля 2006 13:17 · Личное сообщение · #18 |
|
Создано: 12 февраля 2006 13:17 · Личное сообщение · #19 |
|
Создано: 12 февраля 2006 13:19 · Личное сообщение · #20 |
|
Создано: 12 февраля 2006 13:23 · Личное сообщение · #21 |
|
Создано: 12 февраля 2006 13:25 · Личное сообщение · #22 |
|
Создано: 12 февраля 2006 13:30 · Личное сообщение · #23 |
|
Создано: 12 февраля 2006 13:34 · Личное сообщение · #24 |
|
Создано: 12 февраля 2006 19:52 · Личное сообщение · #25 PalR пишет: и в отладчике можно попасть только в системные процессы АСПР тоже так делает. Помещает в стек адрес ExitProcess и вызывает мессагу джампом, поэтому из мессаги прога сразу падает на ExitProcess. Решение (но не для АСПРа): взять АПИ шпион у узнать какую АПИ прога вызывала до мессаги и ее адрес возврата. Ищем выше этого адреса вызов этой АПИ и ставим бряк. Запускаем прогу приземляемся на бряке. Ставим бряк на MessageBoxA и жмем Shift+F11 (в Оли). Приземляемся на бряке и начинаем жать на клавишу "-" (минус). При этом Оли начинает выполнять обратную трассировку, т.е. как бы проходит прогу назад, при этом показывая состояния регистров и стека на тот момент. Ну а там сам увидишь команды сравнения и что было бы если б они выполнились подругому. ----- Yann Tiersen best and do not fuck ![]() |
|
Создано: 13 февраля 2006 20:08 · Личное сообщение · #26 |
|
Создано: 15 февраля 2006 21:10 · Личное сообщение · #27 |
|
Создано: 16 февраля 2006 11:09 · Личное сообщение · #28 |
|
Создано: 16 февраля 2006 11:26 · Поправил: PE_Kill · Личное сообщение · #29 |
|
Создано: 07 апреля 2006 15:19 · Личное сообщение · #30 вообще-то, CRC16/32 можно и восстановить ;) в смысле после изменения хакнутых байтов добавить еще 4е специальных байта, чтобы получилось идентичное CRC, как будто бы мы ничего и не трогали ;) вот ссылки по теме: # faq по вычислению и обращению CRC faqs.org.ru/progr/common/crc_faq.htm #CRC and how to Reverse it A CRC Tutorial & The c00l way to Reverse CRC pulltheplug.org/kdb/ptp/crc/crctut1.htm ![]() |
. 1 . 2 . >> |
![]() |
eXeL@B —› Основной форум —› Поиск CRC |