Сейчас на форуме: _MBK_, ManHunter, Magister Yoda, rtsgreg1989 (+9 невидимых) |
eXeL@B —› Основной форум —› Изменение байтов ничего не дает |
Посл.ответ | Сообщение |
|
Создано: 17 августа 2005 00:25 · Личное сообщение · #1 Я только начинающий в этом деле и сразу прошу прощение за может быть глупый вопрос, но у меня уже просто накипело. Столкнулся с некоторыми программами (MOV Converter, VideoCleaner и др.), в которых в нужном месте (не буду вдаваться в подробности в каких именно) меняешь, допустим, je на jne и прога как бы зарегистрирована и полностью функционирует, но как только выходишь из "зарегистрированной" программы и запускаешь ее снова она опять просит ввести s/n. Вводишь лубые данные (или вобще ничего не вводишь) и программа опять зарегистрирована. Как сделать так, чтобы не проходить порцидуру регистрации каждый раз? Я еще не умею находить серийники для программ, поэтому пока меняю байты . Буду очень благодарен, если поможете мне разобраться с моей проблемой. |
|
Создано: 17 августа 2005 00:40 · Личное сообщение · #2 tROJN Наверняка прога проверяет регистрацию несколько раз... Замена перехода тут - не выход. Надо патчить процедуру проверки. К примеру, процедура должна возвращать в AL единицу при правильном серийнике. Надо сделать, чтобы она возвращала 1 ВСЕГДА. Часто в конце процедуры стоит проверка и после нее два варианта: XOR EAX,EAX (обнуление) или MOV AL,1. Можно заменить XOR.. на MOV AL,1. ЗЫ: это все типичные варианты, смотри саму прогу. |
|
Создано: 17 августа 2005 01:08 · Личное сообщение · #3 |
|
Создано: 17 августа 2005 01:21 · Личное сообщение · #4 |
|
Создано: 17 августа 2005 01:40 · Личное сообщение · #5 |
|
Создано: 17 августа 2005 05:54 · Личное сообщение · #6 |
|
Создано: 17 августа 2005 06:34 · Личное сообщение · #7 |
|
Создано: 17 августа 2005 07:47 · Личное сообщение · #8 Grey Grey пишет: Еще программа может хранить ключи в реестре и при запуске их проверять. Проверь регмоном. Regmon-ом я уже проверял это ничего не дало. Bitfry пишет: В программах с такими названиями, а точнее мультимедиа сутью, очень часто используется MFC. Давай линки, или показывай участок кода который менял (с адресами и стандартными коментами). Она действительно использует MFC. Вот линк на эту прогу download.riverpast.com/download/videocleaner_setup.exe Вот участок. Кстати, я пользуюсь Olly. Айс для меня пока сложноват. 004523D7 E8 A09B0000 CALL <JMP.&MFC42.#6334> 004523DC 8B1D A4204600 MOV EBX,DWORD PTR DS:[<&KERNEL32.Sleep>] ; kernel32.Sleep 004523E2 6A 32 PUSH 32 004523E4 FFD3 CALL EBX 004523E6 8B8E F8010000 MOV ECX,DWORD PTR DS:[ESI+1F8] 004523EC 8B46 60 MOV EAX,DWORD PTR DS:[ESI+60] 004523EF 8D7E 60 LEA EDI,DWORD PTR DS:[ESI+60] 004523F2 51 PUSH ECX 004523F3 8BCF MOV ECX,EDI 004523F5 FF50 58 CALL DWORD PTR DS:[EAX+58] 004523F8 8B86 FC010000 MOV EAX,DWORD PTR DS:[ESI+1FC] 004523FE 8B17 MOV EDX,DWORD PTR DS:[EDI] 00452400 50 PUSH EAX 00452401 8BCF MOV ECX,EDI 00452403 FF52 78 CALL DWORD PTR DS:[EDX+78] 00452406 6A 32 PUSH 32 00452408 FFD3 CALL EBX 0045240A 6A 00 PUSH 0 0045240C 8BCE MOV ECX,ESI 0045240E E8 699B0000 CALL <JMP.&MFC42.#6334> 00452413 8A86 A0000000 MOV AL,BYTE PTR DS:[ESI+A0] 00452419 84C0 TEST AL,AL 0045241B 74 0D JE SHORT rvemfcut.0045242A - здесь меняю на jne 0045241D 6A 01 PUSH 1 0045241F 8BCE MOV ECX,ESI 00452421 E8 3E9B0000 CALL <JMP.&MFC42.#2645> 00452426 5F POP EDI 00452427 5E POP ESI 00452428 5B POP EBX 00452429 C3 RETN 0045242A 6A 00 PUSH 0 0045242C 6A 00 PUSH 0 0045242E 68 3C704800 PUSH rvemfcut.0048703C ; ASCII "Your activation information is invalid. Please enter again" 00452433 E8 CA9C0000 CALL <JMP.&MFC42.#1200> 00452438 5F POP EDI 00452439 5E POP ESI 0045243A 5B POP EBX 0045243B C3 RETN 0045243C 90 NOP 0045243D 90 NOP 0045243E 90 NOP 0045243F 90 NOP 00452440 6A 07 PUSH 7 00452442 E8 1D9B0000 CALL <JMP.&MFC42.#2645> 00452447 C3 RETN |
|
Создано: 17 августа 2005 08:12 · Личное сообщение · #9 |
|
Создано: 17 августа 2005 08:21 · Личное сообщение · #10 Grey пишет: А почему JNE, а не просто занопить? Ессно - ты реверсишь джамп. При неправильном коде он считает его правильным и регает программу, а при запуске происходит все наооборот;)) Попробовал - нопом тоже работает . Я просто очень мало об этом всём знаю, поэтому и пришел на этот форум. Кто-нибуть уже успел посмотреть эту прогу? |
|
Создано: 17 августа 2005 08:52 · Личное сообщение · #11 tROJN пишет: Кто-нибуть уже успел посмотреть эту прогу? Я закейгенил ее ;) , патчится там вроде просто, как сказал Ara Ara пишет: Надо патчить процедуру проверки. К примеру, процедура должна возвращать в AL единицу при правильном серийнике. Надо сделать, чтобы она возвращала 1 ВСЕГДА. Часто в конце процедуры стоит проверка и после нее два варианта: XOR EAX,EAX (обнуление) или MOV AL,1. Можно заменить XOR.. на MOV AL,1. |
|
Создано: 17 августа 2005 09:40 · Поправил: Bitfry · Личное сообщение · #12 Да, Аra прав, как и почти всегда. tROJN Ты не уловил суть действий. Сначала происходит проверка (обычно одна процедура, бывает большая). Затем записывается результат проверки (некое значение(я) ). Обычно на выходе из процедуры проверки или чуть выше. С этим результатом могут работать разные участки кода (отключать или включать функции, выводить наги и т.п.). Нужно искать не один из участков (как ты делаешь), а место где создаётся результат проверки. ----- Всем привет, я вернулся |
|
Создано: 17 августа 2005 11:18 · Личное сообщение · #13 |
|
Создано: 17 августа 2005 19:18 · Личное сообщение · #14 bkslash bkslash пишет: Я закейгенил ее ;) , патчится там вроде просто, как сказал Ara Ничего у меня не получается . Наверно мне не дано. Кусок кода можешь показать, который генерит серийник? Был бы тебе очень-очень благодарен за это. Народ, почему так мало статей, где описывается поиск номера с помощью Olly? Все прям помешались на Айсе |
|
Создано: 17 августа 2005 19:51 · Поправил: bkslash · Личное сообщение · #15 tROJN пишет: Кусок кода можешь показать, который генерит серийник? Ну там напрямую не генерится, расшифровывается серийник и сверяется с именем, геморой с этим редкостный. Вкратце про патч, у меня версия 6.5.0.50717, с остальными должно быть аналогично. bp MessageBoxA, вводим что угодно, брякаемся, пару раз ctrl-f9, оказывемся тут: 004523F8 . 8B86 FC010000 MOV EAX,DWORD PTR DS:[ESI+1FC] 004523FE . 8B17 MOV EDX,DWORD PTR DS:[EDI] 00452400 . 50 PUSH EAX 00452401 . 8BCF MOV ECX,EDI 00452403 . FF52 78 CALL DWORD PTR DS:[EDX+78] ; rvemfcut.?SetPasscode@CMpegDice@@UAE_NPBD@Z 00452406 . 6A 32 PUSH 32 00452408 . FFD3 CALL EBX 0045240A . 6A 00 PUSH 0 0045240C . 8BCE MOV ECX,ESI 0045240E . E8 699B0000 CALL <JMP.&MFC42.#6334> 00452413 . 8A86 A0000000 MOV AL,BYTE PTR DS:[ESI+A0] 00452419 . 84C0 TEST AL,AL 0045241B . 74 0D JE SHORT rvemfcut.0045242A 0045241D . 6A 01 PUSH 1 0045241F . 8BCE MOV ECX,ESI 00452421 . E8 3E9B0000 CALL <JMP.&MFC42.#2645> 00452426 . 5F POP EDI 00452427 . 5E POP ESI 00452428 . 5B POP EBX 00452429 . C3 RETN 0045242A > 6A 00 PUSH 0 0045242C . 6A 00 PUSH 0 0045242E . 68 3C704800 PUSH rvemfcut.0048703C ; ASCII "Your activation information is invalid. Please enter again" 00452433 . E8 CA9C0000 CALL <JMP.&MFC42.#1200> 00452438 . 5F POP EDI 00452439 . 5E POP ESI 0045243A . 5B POP EBX 0045243B . C3 RETN Вводим другой серийник (если введен такой же он не сверяется) и заходим в CALL DWORD PTR DS:[EDX+78] , там заходим 0045120C |. FF90 80000000 CALL DWORD PTR DS:[EAX+80] ; rvemfcut.?SideEffectPasscodeChanged@CMpegDice@@UAEXXZ А там - в 00451002 |. E8 E916FEFF CALL rvemfcut.?ValidateLicensed@CMpegDic> Это и есть проверка. Там в начале функции вписываем mov al,1 retn 4 Вроде должно работать. |
|
Создано: 17 августа 2005 22:39 · Личное сообщение · #16 bkslash пишет: Вкратце про патч, у меня версия 6.5.0.50717, с остальными должно быть аналогично. Неа, не аналогично. У меня 6.5.2.50802 и как ты говорил выше не срабатывает. Может быть, конечно, это из-за кривизны моих рук, но всё равно не работает. Хотя пытался делать как ты показал. . Эх, как бы было здорово, если бы давались более подробные действия для кряка прог. Но всё равно спасибо. |
|
Создано: 17 августа 2005 22:58 · Личное сообщение · #17 |
|
Создано: 17 августа 2005 23:03 · Личное сообщение · #18 tROJN Заходишь в функцию ValidateLicensed идешь в самый её конец, видишь: 0043215B |. C78424 5C10000>MOV DWORD PTR SS:[ESP+105C],-1 00432166 |. E8 2D8A0200 CALL <rvemfcut.CString::~CString(void)> ; JMP to MFC42.#800 0043216B >|> 32 C0 XOR EAX, EAX (1) 0043216D \.^E9 EAFBFFFF JMP <rvmfcut.loc_10001D5C> меняешь там где (1) на MOV AL, 1 |
|
Создано: 17 августа 2005 23:06 · Личное сообщение · #19 |
|
Создано: 17 августа 2005 23:31 · Личное сообщение · #20 tROJN ntdll - загрузчик для winnt/winxp. в нём распологается native api. mfc42/mfcxx - обёртка от майкрософта над winapi, набор стандартных классов, ускоряющих разработку приложений. mfc - microsoft foundation classes прежде чем браться за кряки изучи вначале простейшее программирование Ara пишет: ока идиот мог так назвать функцию... Странно, что там серийник не валяется в открытом виде. |
|
Создано: 18 августа 2005 00:32 · Личное сообщение · #21 |
|
Создано: 18 августа 2005 06:57 · Личное сообщение · #22 tROJN пишет: Но я на самом деле мечтаю научиться ломать проги. Тогда слушай умные советы хотя бы этот: Paxan пишет: прежде чем браться за кряки изучи вначале простейшее программирование tROJN, подозреваю, что ты не знаком с Асмом на должном уровне. Тебе начать нужно с Дневников Чайника. Уже есть Чтива 0 - как раз для тебя. Пока временно тут: http://bitfry.narod.ru/ Затем прочесть "Теоретические основы крэкинга": http://www.exelab.ru/art/tok.php Далее можно пройти уроки Iczelion’a самостоятельно. На всё это нужно дней 40 максимум. Зато потом будешь ломать как семечки подобные простенькие триалы. Да, и конечно не забудь, как следует прочесть FAQ! Ara пишет: Тока идиот мог так назвать функцию... Странно, что там серийник не валяется в открытом виде. Так в прогах с MFC постоянно такое. Сколько не смотрел всё «менеджер лицензии» а в нём чуть ли не «правильный ключ – съешь меня». ----- Всем привет, я вернулся |
|
Создано: 18 августа 2005 11:53 · Личное сообщение · #23 |
|
Создано: 18 августа 2005 12:04 · Личное сообщение · #24 |
|
Создано: 18 августа 2005 12:23 · Личное сообщение · #25 |
|
Создано: 18 августа 2005 19:35 · Личное сообщение · #26 |
eXeL@B —› Основной форум —› Изменение байтов ничего не дает |