![]() |
eXeL@B —› Основной форум —› Исследование UltraISO |
<< . 1 . 2 . 3 . 4 . 5 . >> |
Посл.ответ | Сообщение |
|
Создано: 09 апреля 2005 16:13 · Поправил: ValdiS · Личное сообщение · #1 Привет всем. Решил исследовать UltraISO (для работы с образами CD и DVD). hxxp://ezbsvs.com/download/uiso7_me.exe Упакована AsPack 2.12. Распаковывается стандартно, без проблем. Регистрацию хранит в реестре HKEY_CURRENT_USER\Software\EasyBoot Systems. Проверяет верность регистрации при запуске. Перерыл кучу кода, разобрался как криптится ключ Registration в реестре (xor константы, вводимого серийника и имени). Но... Никак не могу найти процедуру проверки (точнее процедуру нашел, в которую в качестве параметров передаются имя и серийник, но не получается найти ПРОВЕРОЧКУ, чтобы подобрать валидный серийник по имени). 004029C4 . E8 67F70400 CALL UltraISO.00452130 ; \UltraISO.00452130 004029C9 . 83C4 08 ADD ESP,8 004029CC . A3 3C155900 MOV DWORD PTR DS:[59153C],EAX 004029D1 . 8B15 3C155900 MOV EDX,DWORD PTR DS:[59153C] 004029D7 . 85D2 TEST EDX,EDX 004029D9 . 74 1D JE SHORT UltraISO.004029F8 004029DB . 8D8D B4FDFFFF LEA ECX,DWORD PTR SS:[EBP-24C] 004029E1 . 51 PUSH ECX ; /Arg2- Серийник 004029E2 . 8D85 B4FEFFFF LEA EAX,DWORD PTR SS:[EBP-14C] ; | 004029E8 . 50 PUSH EAX ; |Arg1 - Имя 004029E9 . E8 26EEFFFF CALL UltraISO.00401814 ; \UltraISO.00401814 процедура проверки 004029EE . 83C4 08 ADD ESP,8 004029F1 . A3 3C155900 MOV DWORD PTR DS:[59153C],EAX 004029F6 . EB 08 JMP SHORT UltraISO.00402A00 004029F8 > 33D2 XOR EDX,EDX 004029FA . 8915 3C155900 MOV DWORD PTR DS:[59153C],EDX 00402A00 > 8B0D A46D5F00 MOV ECX,DWORD PTR DS:[5F6DA4] ![]() ![]() Сорри за правку, поменял ссылку. Эта работает. ![]() ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 17 мая 2005 10:36 · Личное сообщение · #2 |
|
Создано: 17 мая 2005 14:27 · Личное сообщение · #3 NIKOLA пишет: Условные джампы на без условные? Приблизительно так, я меняю переходы на обратные. Работа дурная, но разобраться в генерации регистрационных данных - это ![]() Сейчас заканчиваю исследование EasyBoot 5.0.6.472. hxxp://tucows.tierra.net/files3/ezb5_en.exe Весит - 2 639 679 байт. Эта примочка работает в паре с UltraISO, создает мультизагрузочные загрузчики для CD. ![]() ![]() ![]() ![]() ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 17 мая 2005 16:25 · Личное сообщение · #4 Патчик готов. ![]() ![]() ![]() ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 17 мая 2005 23:22 · Личное сообщение · #5 |
|
Создано: 17 мая 2005 23:32 · Личное сообщение · #6 |
|
Создано: 17 мая 2005 23:43 · Личное сообщение · #7 |
|
Создано: 17 мая 2005 23:46 · Личное сообщение · #8 |
|
Создано: 17 мая 2005 23:54 · Личное сообщение · #9 ValdiS пишет: после применения патча не запускается прога Если такой вариант, попробуй перед применением патча ввести регистрационные данные, а уж потом, когда прога уйдет на перезапуск, пропатчь. И запускай... Может поможет, честно говоря я уже сделал патч, когда мне пришла идея, а как ведет программа себя при пропатчивании до попытки регистрации, т.е. когда реестр пуст. Просто часть переходов я сделал жестко JMP, а часть - инвертировал. А нужно было "занопить". В EasyBoot я уже "нопил". ![]() ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 18 мая 2005 09:11 · Личное сообщение · #10 |
|
Создано: 18 мая 2005 09:36 · Личное сообщение · #11 |
|
Создано: 18 мая 2005 10:04 · Поправил: ValdiS · Личное сообщение · #12 Я "крутил" прогу около часа. Используя разные режимы: добавление файлов(папок), удаление их же из ISOшника, создание ISOшника, сохранение, загрузочный ISOшник и т.д. Проверок несколько, для каждого режима своя. В аттаче табличка изменений распакованного файла. Каждая строчка это или JMP, или "инверсия". ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 18 мая 2005 10:08 · Поправил: ValdiS · Личное сообщение · #13 Блин, аттач не прикололся опять. ![]() Вот текст UltraISO 7.5.6.1045 // CRK file by ValdiS 0000196E: 74 75 00001990: 74 EB 000019AE: 7C EB 000019CC: 75 74 000019DE: 75 74 000019F0: 74 75 00001A0E: 75 74 00001A20: 75 74 00001A58: 7C EB 00001BB4: 74 75 00002B0D: 74 EB 000031AA: 74 EB 000031CC: 74 EB 000031EA: 7C EB 00003208: 75 74 0000321A: 75 74 0000322C: 74 75 00003294: 7C EB 0000AEAD: 74 EB 000193EC: 75 74 00019402: 74 75 00034682: 74 EB 000346A4: 74 EB 000346C2: 7C EB 000346E0: 75 74 000346F2: 75 74 00034704: 74 EB 0003476C: 7C EB 000361BC: 74 EB 0003EE88: 74 EB 0003EEAA: 74 EB 0003EEC8: 7C EB 0003EEE6: 75 74 0003EEF8: 75 74 0003EF0A: 74 EB 0003EF72: 7C EB 0004405B: 74 EB 00044A00: 74 EB 0004ACDA: 74 EB 0004ACFC: 74 EB 0004AD1A: 7C EB 0004AD38: 75 74 0004AD4A: 75 74 0004AD5C: 74 EB 0004ADC4: 7C EB 00053CC3: 74 EB ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 18 мая 2005 11:03 · Личное сообщение · #14 |
|
Создано: 18 мая 2005 11:34 · Личное сообщение · #15 NIKOLA Если у тебя все работает, и прога не вылетает, отлично. Пиши инлайн. И выкладывай. ![]() У меня все работает, глюков не заметил, "вылетов" не было. Да, а ты мой патч проверял, работает, а то никак не могу ни от кого добиться ответа? ![]() ![]() ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 18 мая 2005 12:04 · Личное сообщение · #16 |
|
Создано: 18 мая 2005 13:04 · Личное сообщение · #17 Запустил первый раз, вот лог: =================================================== >> Ready for patch... >> Process... >> Checking CRC32... >> CRC32 mismatch. File may be wrong or already patched. =================================================== Ясно что с CRC чтото. Убираем галочку с Check CRC и всё пропатчилось. Я так думаю что, привязку к CRC не надо делать. У тебя хорошо что, можно убрать галочку с Check CRC, а если допустим в Code Fusion, там только при создании проэкта. ( Это я на своём примере. ) Ты ведь читал предидущие топики, у всех с размером не порядок. Это по поводу работы патча. Прогу пока не тестил. Вечером напишу отчёт. А по поводу ValdiS пишет: Пиши инлайн. И выкладывай Зачем делать патчей 10 штук Ты зделал один и одного хватит. Главное только что бы он был рабочим на 100%. И ещё. Желатель что бы патч начинался с PUSHAD и заканчивался POPAD. Это моё мнение, ты же можеш делать как хочеш ( работало бы только ). Вот вроде бы и всё. ![]() |
|
Создано: 18 мая 2005 18:49 · Личное сообщение · #18 |
|
Создано: 18 мая 2005 20:26 · Личное сообщение · #19 |
|
Создано: 19 мая 2005 01:28 · Личное сообщение · #20 |
|
Создано: 19 мая 2005 08:14 · Личное сообщение · #21 |
|
Создано: 19 мая 2005 08:51 · Личное сообщение · #22 |
|
Создано: 19 мая 2005 09:35 · Личное сообщение · #23 Новая версия патча к UltraISO 7.5.6.1045. ![]() С исправлениями... ![]() ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 19 мая 2005 09:46 · Личное сообщение · #24 |
|
Создано: 19 мая 2005 10:08 · Личное сообщение · #25 |
|
Создано: 19 мая 2005 12:35 · Личное сообщение · #26 |
|
Создано: 01 июня 2005 17:10 · Личное сообщение · #27 Вот решил исследовать программу IsoBuster. По заявлению авторов - хорошая грябалка CD и DVD, даже поврежденных. Ссылка - hххp://www.isobusterdownload.org/isobuster_all_lang.zip Размер дистриба - 2 602 008 байт. Триал. Наг, отключена часть функций. Прога ничем не пакована, но есть сюрприз. Если происходит вмешательство в код проги, то закрывается без лишних разговоров. При помощи DASMa и Olly вроде бы снял триал, прога стала отзываться, как Pro. Но пропатченная прога закрывается. ![]() В аттаче неполный патчик (кое-что я еще не убрал). ![]() ![]() ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 07 июня 2005 12:29 · Личное сообщение · #28 ValdiS пишет: сюрприз. Если происходит вмешательство в код проги, то закрывается без лишних разговоров. Блин, никак не могу снять защиту от вмешательства... ![]() Поставил бряк на получение размера файла и чтение из файла. Вроде бы нашел похожий фрагмент кода, но... ![]() 0041BBBA |> 8BC3 /MOV EAX,EBX 0041BBBC |. 03C6 |ADD EAX,ESI 0041BBBE |. 3B45 14 |CMP EAX,DWORD PTR SS:[EBP+14] 0041BBC1 |. 7E 05 |JLE SHORT IsoBuste.0041BBC8 0041BBC3 |. 8B5D 14 |MOV EBX,DWORD PTR SS:[EBP+14] 0041BBC6 |. 2BDE |SUB EBX,ESI 0041BBC8 |> 85DB |TEST EBX,EBX 0041BBCA |. 74 30 |JE SHORT IsoBuste.0041BBFC 0041BBCC |. 33C0 |XOR EAX,EAX 0041BBCE |. 8D55 F4 |LEA EDX,DWORD PTR SS:[EBP-C] 0041BBD1 |. 8945 F4 |MOV DWORD PTR SS:[EBP-C],EAX 0041BBD4 |. 6A 00 |PUSH 0 ; /pOverlapped = NULL 0041BBD6 |. 52 |PUSH EDX ; |pBytesRead 0041BBD7 |. 53 |PUSH EBX ; |BytesToRead 0041BBD8 |. 57 |PUSH EDI ; |Buffer 0041BBD9 |. 8B4D F8 |MOV ECX,DWORD PTR SS:[EBP-8] ; | 0041BBDC |. 51 |PUSH ECX ; |hFile 0041BBDD |. E8 A82B1F00 |CALL <JMP.&KERNEL32.ReadFile> ; \ReadFile 0041BBE2 |. 8B45 F4 |MOV EAX,DWORD PTR SS:[EBP-C] 0041BBE5 |. 8BD7 |MOV EDX,EDI 0041BBE7 |. 50 |PUSH EAX ; /Arg3 0041BBE8 |. 52 |PUSH EDX ; |Arg2 0041BBE9 |. 8B4D 0C |MOV ECX,DWORD PTR SS:[EBP+C] ; | 0041BBEC |. 51 |PUSH ECX ; |Arg1 0041BBED |. E8 7ADCFEFF |CALL IsoBuste.0040986C ; похоже, что проверка здесь 0041BBF2 |. 83C4 0C |ADD ESP,0C 0041BBF5 |. 0375 F4 |ADD ESI,DWORD PTR SS:[EBP-C] 0041BBF8 |. 85DB |TEST EBX,EBX 0041BBFA |.^75 BE \JNZ SHORT IsoBuste.0041BBBA А чтобы снять снять наг и получить надпись Pro, нужно поставить dword хардваре бряки на доступ в дампе по адресам 0061328с и 00613288. Потом немного подправить переходы... ![]() Убрать "Доступно только в зарегистрированной версии" можно, поставив бряки по адрясам: 470fb4 472068 4808e1 482ae0 484a14 4852d1 486db4 487bcb которые получены благодаря DASMу. Защита однотипная, просто поменять несколько переходов чуть выше. А вот с адресами 500f19 517e53 пока не разобрался... ![]() Может кому интересно. ![]() ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 07 июня 2005 13:46 · Личное сообщение · #29 |
|
Создано: 07 июня 2005 14:43 · Личное сообщение · #30 NIKOLA Того, кто удалил. ![]() NIKOLA, ты не смотрел IsoBuster? Может чего подскажешь? Честно говоря, с защитой от изменения кода проги я пока не сталкивался. ![]() ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 07 июня 2005 19:18 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . >> |
![]() |
eXeL@B —› Основной форум —› Исследование UltraISO |