HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Реверсинг
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

CRC32+regfile.dat Помогите
  #1  
Старый 06.09.2008, 19:58
cryptX
Познающий
Регистрация: 02.09.2008
Сообщений: 38
С нами: 9309584

Репутация: 0
Unhappy 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,а когда нажимаю на одну кнопку виснет, как это объяснить? и как можно найти настоящее место проверки серейника?
 
Ответить с цитированием

  #2  
Старый 06.09.2008, 20:39
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
С нами: 9981026

Репутация: 1564
По умолчанию

>>Как можно изменить несколько байт в code section,чтоб црц секций не менялось?, как узнать црц32 код секций ?
если у кого нить такие туториалы,статьи,примеры ?


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

  #3  
Старый 06.09.2008, 20:52
ProTeuS
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,367
С нами: 11291486

Репутация: 2175


По умолчанию

0x0c0de неправа. универсальный выход - заюзать плиг для пеида CRC32, он позволяет подменить CRC32 файла на произвольное зна4ение. соотвественно ищи эталонное (контрольная сумма файла до пат4инга), пат4 переходы, меняй в плаге зна4ение выходного файла на то которое было до него. все. должно работать, если проверка стоит только на CRC32
 
Ответить с цитированием

  #4  
Старый 06.09.2008, 20:57
cryptX
Познающий
Регистрация: 02.09.2008
Сообщений: 38
С нами: 9309584

Репутация: 0
По умолчанию

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

  #5  
Старый 06.09.2008, 20:59
cryptX
Познающий
Регистрация: 02.09.2008
Сообщений: 38
С нами: 9309584

Репутация: 0
По умолчанию

2 ProTeuS
друг там НЕ ВЕСЬ КОД Проверяется а только несколько секций а црц32 плагин тут не поможет
 
Ответить с цитированием

  #6  
Старый 06.09.2008, 21:00
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
С нами: 9981026

Репутация: 1564
По умолчанию

ProTeuS, а гарантия есть, что там только CRC32? Ты предложил хороший метод под конкретный алгоритм.
 
Ответить с цитированием

  #7  
Старый 06.09.2008, 21:11
ProTeuS
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,367
С нами: 11291486

Репутация: 2175


По умолчанию

0x0c0de, ТС написал 4то токо CRC32\16 есть, стало быть должно проканать было

cryptX, ставишь бряк на 4тение секции данных (или какая там у тебя) при старте в ольке, ловишь бряки на проверках, записываешь места, трейсишь вверх, смотришь 4то далее с 4ем сравнивается, подмяняешь результат на эталонный, или пат4ишь переходы. все
 
Ответить с цитированием

  #8  
Старый 07.09.2008, 13:53
fromRIDDER
Новичок
Регистрация: 02.08.2008
Сообщений: 8
С нами: 9354643

Репутация: 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 оригинального.

Если что-то непонятно, могу написать более подробно с адресами и комментами.
 
Ответить с цитированием

  #9  
Старый 07.09.2008, 14:37
cryptX
Познающий
Регистрация: 02.09.2008
Сообщений: 38
С нами: 9309584

Репутация: 0
По умолчанию

2 fromRIDDER
СПАСИБОО БОЛЬШОЕЕЕ,шас постораюсь сделать патч или кейген если что сообщу
 
Ответить с цитированием

  #10  
Старый 07.09.2008, 15:23
cryptX
Познающий
Регистрация: 02.09.2008
Сообщений: 38
С нами: 9309584

Репутация: 0
По умолчанию

2 fromRIDDER
а как ты узнал что именно на CreateFileA нужно бряк ставить ?
и что это за функция CreateFileA ?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать программу на С++, генератор массива neon17 С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 3 20.01.2008 23:05
Помогите с вышкой. PomaH9991 Болталка 27 16.12.2007 23:13



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.