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

06.09.2008, 19:58
|
|
Познающий
Регистрация: 02.09.2008
Сообщений: 38
Провел на форуме: 88361
Репутация:
0
|
|
CRC32+regfile.dat Помогите
Ребята помогите пожалуйста.
вот такая у меня проблема
я нашел в проге место где проверяется серейник и изменил jnz->jz
место генераций серейника не смог найти (слишком запутано)
потом патчил и вот проблема самые важные части проги начали не работать,
с помощи peid(kanal)-a узнал что в проге есть 2 алгоритма хеширования crc16-ccitt и crc32,
и еще я узнал что хешируется не весь код программы а только несколько секций (code section),
и еще когда загружаю прогу в олли но не запускаю его а меняю jnz на jz, и вот потом запускаю прога работает нормально.
Вопросы:
1.Как можно изменить несколько байт в code section,чтоб црц секций не менялось?, как узнать црц32 код секций ?
если у кого нить такие туториалы,статьи,примеры ?
2.Как найти где именно црц проверка происходит, ведь если в проге есть полином crc32(16) то канал может и врать.
3.Прога ищет regkey.dat и из него читает серейник, как узнать где именно он читает серейник ?
хочу сказать что Readfile-ов в проге очень много, и вообще таких функций(CreatefileA) много.
4.И как объяснить тот факт, что олли пишет program entery point - 0041204 и когда после этого я меняю байты прога работает нормально,
те проверки значит не происходит, как это возможно ?
ЗАРАНЕЕ ОЧЕНЬ БЛАГОДАРЕН!
Нашел место где проверяется 2 байта и в файле regkey.dat изменил подходящим образом и прога в about-e пишет registered,а когда нажимаю на одну кнопку виснет, как это объяснить? и как можно найти настоящее место проверки серейника?
|
|
|

06.09.2008, 20:39
|
|
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме: 4226446
Репутация:
1564
|
|
>>Как можно изменить несколько байт в code section,чтоб црц секций не менялось?, как узнать црц32 код секций ?
если у кого нить такие туториалы,статьи,примеры ?
нет нет. дело в том, что программа хранит у себя верное crc. и если вы что-то поменяете оно будет другое. ищите проверки. по другому никак. мало просто изменить какой-то джамп. возможно значения, которые возвращает функция проверки crc где-то сохраняется и потом у вас все глючит. или вы нашли неверный переход. или само значение crc где-то используется. дайте лучше ссылку на софт, телепатов-удаленнореверсеров нет.
|
|
|

06.09.2008, 20:52
|
|
HARDstasy
Регистрация: 26.11.2004
Сообщений: 1,367
Провел на форуме: 4226592
Репутация:
2175
|
|
0x0c0de неправа. универсальный выход - заюзать плиг для пеида CRC32, он позволяет подменить CRC32 файла на произвольное зна4ение. соотвественно ищи эталонное (контрольная сумма файла до пат4инга), пат4 переходы, меняй в плаге зна4ение выходного файла на то которое было до него. все. должно работать, если проверка стоит только на CRC32
|
|
|

06.09.2008, 20:57
|
|
Познающий
Регистрация: 02.09.2008
Сообщений: 38
Провел на форуме: 88361
Репутация:
0
|
|
0x0c0de
Просто одна просьба,если найдешь место генераций серейника обясни мне как ты нашел,а кейген постораюсь сделать сам,ЗАРАНЕЕ ОЧЕНЬ БЛАГОДАРЕН
Вот сама программа http://rapidshare.com/files/143136794/HistoryKiller.rar.html
|
|
|

06.09.2008, 20:59
|
|
Познающий
Регистрация: 02.09.2008
Сообщений: 38
Провел на форуме: 88361
Репутация:
0
|
|
2 ProTeuS
друг там НЕ ВЕСЬ КОД Проверяется а только несколько секций а црц32 плагин тут не поможет
|
|
|

06.09.2008, 21:00
|
|
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме: 4226446
Репутация:
1564
|
|
ProTeuS, а гарантия есть, что там только CRC32? Ты предложил хороший метод под конкретный алгоритм.
|
|
|

06.09.2008, 21:11
|
|
HARDstasy
Регистрация: 26.11.2004
Сообщений: 1,367
Провел на форуме: 4226592
Репутация:
2175
|
|
0x0c0de, ТС написал 4то токо CRC32\16 есть, стало быть должно проканать было
cryptX, ставишь бряк на 4тение секции данных (или какая там у тебя) при старте в ольке, ловишь бряки на проверках, записываешь места, трейсишь вверх, смотришь 4то далее с 4ем сравнивается, подмяняешь результат на эталонный, или пат4ишь переходы. все
|
|
|

07.09.2008, 13:53
|
|
Новичок
Регистрация: 02.08.2008
Сообщений: 8
Провел на форуме: 8620
Репутация:
12
|
|
Part I
Ставишь бряк на CreateFileA, третья остановка при открытии regkey.dat, потом чтение файла в память, ставишь memory breakpoint на эту память и ты в функции проверки файла. Функция должна вернуть 1, делать патч или кейген решай сам. Структура файла проста: 12 байт - то, что проверяется; 80< - ключ, не проверяется, но отображается в окне About. Я так думаю, при регистрации ключ проверяется, если он валиден, создаётся его хэш и вместе сним записывается в файл.
Part II
Ставишь бряк на CreateFileA, вторая остановка при открытии самого себя, потом чтение в память, ставишь memory бряк на эту память и ты в функции проверки crc, точнее в месте, где происходит сравнение crc текущего файла с crc оригинального. Можно пропатчить ( je --> jmp ), а можно посмотреть crc текущего файла и hex-editor-ом заменить его crc оригинального.
Если что-то непонятно, могу написать более подробно с адресами и комментами.
|
|
|

07.09.2008, 14:37
|
|
Познающий
Регистрация: 02.09.2008
Сообщений: 38
Провел на форуме: 88361
Репутация:
0
|
|
2 fromRIDDER
СПАСИБОО БОЛЬШОЕЕЕ,шас постораюсь сделать патч или кейген если что сообщу 
|
|
|

07.09.2008, 15:23
|
|
Познающий
Регистрация: 02.09.2008
Сообщений: 38
Провел на форуме: 88361
Репутация:
0
|
|
2 fromRIDDER
а как ты узнал что именно на CreateFileA нужно бряк ставить ?
и что это за функция CreateFileA ?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|