![]() |
eXeL@B —› Вопросы новичков —› Нужна помощь в написании кейгена |
Посл.ответ | Сообщение |
|
Создано: 19 марта 2009 18:38 · Поправил: MalKolm · Личное сообщение · #1 Привет всем!!! Я новичок в крэгинге(и программировании тоже) и поэтому сейчас учусь взламывая крэкми. Битхак освоил, теперь хочется посложнее. Вот и решил попробовать написать кейген. Тренируюсь на крэкми CrueHead’а (т.е. крэкми, который описывает взлом Р. Нарваха в своем цикле статей). Генерацию пароля нашел, но никак не получается сделать кейген да Делфи. Вот привожу найденную мною процедуру: XOR EDI, EDI ; Очистка регистров XOR EBX, EBX M1: MOV BL, BYTE PTR DS:[ESI] ; В ESI заносится введенное имя TEST BL, BL JE M2 ADD EDI, EBX INC ESI ; Следующий символ JMP M1 M2: XOR EDI, 5678 MOV EAX, EDI ; Копируем все наши вычисления в EAX XOR EAX, 1234 MOV key, EAX Помогите всё выше описанное перевести в Делфи. Заранее спасибо! Вот крэкми на всякий случай : http://wasm.ru/pub/23/files/ollydbg01-Crackme.zip http://wasm.ru/pub/23/files/ollydbg01-Crackme.zip ![]() |
|
Создано: 19 марта 2009 19:06 · Личное сообщение · #2 И что тут непонятного? XOR EDI, EDI ; Очистка регистров XOR EBX, EBX Как ты и сам написал - это очистка регистров M1: MOV BL, BYTE PTR DS:[ESI] ; В ESI заносится введенное имя TEST BL, BL JE M2 ADD EDI, EBX INC ESI ; Следующий символ JMP M1 Тут к EDI прибавляются Hex-коды всех символов в имени M2: XOR EDI, 5678 MOV EAX, EDI ; Копируем все наши вычисления в EAX XOR EAX, 1234 MOV key, EAX Тут полученное значение ксорится сначала на 5678, потом на 1234 Вот и переводи это на Delphi. Если не знаешь синтаксиса языка в Delphi - придется его учить ![]() |
|
Создано: 19 марта 2009 19:33 · Личное сообщение · #3 |
|
Создано: 19 марта 2009 19:42 · Поправил: MalKolm · Личное сообщение · #4 Как их ваще писать кейгены?! Вот попробывал написать: var nam:String; Key:cardinal; begin nam:=Edit1.text; asm // введённое имя в name XOR EDI, EDI XOR EBX, EBX M1: MOV BL, BYTE PTR DS:[nam] // по этому адресу вводится в буфертекст TEST BL, BL JE M2 ADD EDI, EBX INC nam JMP M1 M2: XOR EDI, 5678h MOV EAX, EDI xor eax,1234 mov key,ebx переменная для хранения верного пароля end; Edit2.text:=IntToStr(key); // здесь ошибка!!! end; Это понятно, что чушь написал. Не могли бы вы исправить? Пожалуйста! ![]() |
|
Создано: 19 марта 2009 20:07 · Личное сообщение · #5 |
|
Создано: 19 марта 2009 20:20 · Поправил: Isaev · Личное сообщение · #6 |
|
Создано: 19 марта 2009 20:23 · Личное сообщение · #7 |
|
Создано: 19 марта 2009 20:41 · Поправил: Isaev · Личное сообщение · #8 |
|
Создано: 19 марта 2009 21:30 · Личное сообщение · #9 |
|
Создано: 19 марта 2009 22:04 · Личное сообщение · #10 |
|
Создано: 19 марта 2009 22:34 · Личное сообщение · #11 |
|
Создано: 19 марта 2009 22:40 · Личное сообщение · #12 MalKolm пишет: Что Делфи учить надо это понятно. А можете ради примера написать что да как? Ведь учить делфи тока начал и хочется сделать свой первый кейген Вопрос не в том какой язык программирования начал учить, а в том, что надо научиться понимать логику программы, очень хорошо помогает бумага и карандаш. Только не рисуй алгоритмы - просто пиши по-очереди что делал и что получил. Очень тяжело следить за логикой программы при использовании 2-х языков программирования (т.е. asm вставок), да и компилятор Делфи может чудеса творить, ведь asm вставка это не совсем доступ к реальным регистрам процессора, а так - ещё один способ работы с переменными. Меня тут недавно поправили, ну так и я поправлю: MalKolm ТЕМУ ЗАКРОЙ ![]() |
|
Создано: 19 марта 2009 23:31 · Поправил: coderess · Личное сообщение · #13 |
|
Создано: 20 марта 2009 15:18 · Личное сообщение · #14 |
![]() |
eXeL@B —› Вопросы новичков —› Нужна помощь в написании кейгена |
Эта тема закрыта. Ответы больше не принимаются. |