Сейчас на форуме: YDS, _MBK_, user99 (+10 невидимых)

 eXeL@B —› Основной форум —› Взлом [Delphi]
Посл.ответ Сообщение

Ранг: 11.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 12 января 2006 10:55 · Поправил: Модератор
· Личное сообщение · #1

Блин, помогите!
Решил взломать программу написанную на делфях. Не получилось. Тогда сам написал крякмис, но и его взломать не смог. В чем проблема. Есть ли крякмисы на делфи?

6ec9_%E2%E7%EB%EE%EC.rar.zip



Ранг: 11.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 12 января 2006 10:57
· Личное сообщение · #2

в первое поле вводишь число, а во второе - ключ.
Если правильно - ОК, если нет - то не ОК.



Ранг: 35.7 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 12 января 2006 11:10
· Личное сообщение · #3

Зайди на сайт www.crackmes.de/archive/ и скачай крякмиксы, написанные на любом нужном тебе языке. А в твое проге процедура проверки вызывается по адресу 453790, ставишь бряк на этот адрес и смотришь че и как.



Ранг: 35.7 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 12 января 2006 11:28
· Личное сообщение · #4

Сейчас посмотрел повнимательнее твою прогу, там есть такой код:

004537E6 |. 3BC2 CMP EAX,EDX
004537E8 |. 75 0C JNZ SHORT взлом.004537F6

У тебя два варианта взлома: либо при сравнении подсмотреть правильный рег. код, либо занопить прыжок двумя NOP'ами и тогда будет подходить любой код, даже пустой.



Ранг: 19.0 (новичок)
Активность: 0.010
Статус: Участник

Создано: 12 января 2006 12:35 · Поправил: tIce
· Личное сообщение · #5

дык тут же все просто.
Второе поле = (значение первого +100) *2
Можно кейген писать!!!



Ранг: 19.0 (новичок)
Активность: 0.010
Статус: Участник

Создано: 12 января 2006 12:41
· Личное сообщение · #6

гораздо интереснее сделть ключ который расшифровывается в определенное число (адрес), а по этому адресу прыгруть (заключив прыжок в exception'ы или проще проверить адрес на наличие push ebp, большинство процедур в делфи начинаются так) и уже проверить валидность, такое будешь долго лечить.

Но это я от темы отступил, ты юзай DeDe там гораздо проще найти нажатие твоего батона и что делается. В твоем случае даже дизасмы не нужны.



Ранг: -5.8 (нарушитель)
Активность: 0=0
Статус: Участник

Создано: 12 января 2006 13:39
· Личное сообщение · #7

как думаете.. наверно реально будет кракми написать на .net и запиздяшить его каким нить реальным обфускатором..




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 12 января 2006 14:03
· Личное сообщение · #8

-Loki-
можешь на Jave написать и тоже, как ты выражаешься, запиндяшить обфускатором
только ты сначала придумай нормальный алго, чтобы тому, кто будет с этим возиться, было интересно

-----
EnJoy!




Ранг: 11.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 12 января 2006 15:59
· Личное сообщение · #9

Дык у меня взломать то прогу получилось только после того, как я сообщение о введение кода на английском написал. Тогда в reference text там видно.
Вопрос: как в ольке посмотреть значение по адресу или типа переменное EDX. На моем примере, например.



Ранг: 11.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 12 января 2006 16:08
· Личное сообщение · #10

Const, а как ты нашел, где происходит проверка?



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 12 января 2006 16:21
· Личное сообщение · #11

grushko
tIce пишет:
ты юзай DeDe там гораздо проще найти нажатие твоего батона и что делается. В твоем случае даже дизасмы не нужны.

Обрати внимание на этот совет.... и всё станет ясно =)

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 12 января 2006 16:38
· Личное сообщение · #12

grushko
у комента есть кнопка Правка - не утруждайся двойными постами

по поводу текста на русском - насторй шрифт, будет нормально отображать
PE Explorer, например, тоже кириллицу некорректно отображает, если шрифт не настроить

грузишь твой файл в PE Explorer, Disasm
в списке строк находишь:

00453830 CAEEE420EFF0E0E2E8EB+ db 'Код правильный!'
00453848 CAEEE420EDE5EFF0E0E2+ db 'Код неправильный!'

жмёшь R (Reference) на любой из строк и видишь один-единственный адрес, по которому на эту строку есть ссылка

004537D4 8B45F4 mov eax,[ebp-0Ch]
004537D7 8D55FC lea edx,[ebp-04h]
004537DA E831F6FAFF call CheckCode
004537DF 83C664 add esi,00000064h
004537E2 8BD6 mov edx,esi
004537E4 03D2 add edx,edx
004537E6 3BC2 cmp eax,edx
004537E8 750C jnz BadCode
004537EA B830384500 mov eax,sCorrect
004537EF E82490FDFF call PascalStr
004537F4 EB0A jmp Done
004537F6 BadCode:
004537F6 B848384500 mov eax,sIncorrect
004537FB E81890FDFF call PascalStr

для того, чтобы обойти проверку достаточно заменить один байт:
004537E8 750C ->> 7500 т.е. вместо C0 -> 00

по поводу OllyDbg:
Follow in Dump -> Immediate Constant
либо выделяешь строку со значением EDX в списке регистров, меню
Follow in Dump

-----
EnJoy!




Ранг: 35.7 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 12 января 2006 17:26
· Личное сообщение · #13

grushko пишет:
Const, а как ты нашел, где происходит проверка?

Декомпилировал твою прогу в DeDe (на всякий случай приаттачил), там по нажатию на кнопку вызывается процедура по адресу 00453790. Ставишь на этот адрес брекпоинт, потом вводишь числа в оба поля твоей проги и нажимаешь на кнопку. Тут сработает бряк по адресу 00453790, дальше жмешь в ольке F8 и пошагово идешь по коду и доходишь до сравнения серийников о котором я писал выше, если не равны - выводится сообщение о неправильном коде, если равны - о правильном.

3d30_Project1.rar.zip



Ранг: 71.6 (постоянный)
Активность: 0.060
Статус: Участник

Создано: 12 января 2006 17:41
· Личное сообщение · #14

grushko
Блин я в ауте!!!!!! Это надо, пацан элементарного не знает и пытается что-то сломать, я бы тебе посоветовал статей почитать. По взлому делфи-прог их дохрена.



Ранг: 133.0 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 13 января 2006 06:34 · Поправил: AngelDance
· Личное сообщение · #15

Уже сколько раз говорили, что нельзя выдавать сообщение о неверном коде сразу после проверки и ничего
Ставишь бряк на вывод сообщения и по F8 до момента:
004537E8 75 0C JNZ SHORT взлом.004537F6
правишь на:
004537E8 74 0C JE SHORT взлом.004537F6
И все.


agentru На то он и, как ты говоришь "пацан". А если серьезно, то все мы учились, вот и он тоже учиться. В моей книге, я такое объясняю ;)




Ранг: 266.8 (наставник), 5thx
Активность: 0.220.03
Статус: Участник
very WELL :)

Создано: 13 января 2006 09:39
· Личное сообщение · #16

AngelDance пишет:
004537E8 75 0C JNZ SHORT взлом.004537F6
правишь на:
004537E8 74 0C JE SHORT взлом.004537F6
И все.

Лучше уж исправить на jmp или на JNZ 004537EA (в зависимости от ситуации)



Ранг: 35.7 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 13 января 2006 10:15
· Личное сообщение · #17

AngelDance пишет:
004537E8 75 0C JNZ SHORT взлом.004537F6
правишь на:
004537E8 74 0C JE SHORT взлом.004537F6

Лучше вообще занопить этот прыжок, т.к. если сделать так как ты сказал, то при вводе правильного серийника (что маловероятно) прога просто не примет его, а так примет любой.



Ранг: 133.0 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 13 января 2006 10:30
· Личное сообщение · #18

Const Ты прав конечно, просто зная верный s/n и ломать то незачем



Ранг: 11.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 13 января 2006 10:48 · Поправил: grushko
· Личное сообщение · #19

Так у меня если текст на английском - то ОЛЛИ ДБГ его обнаруживает, а если на русском, то она его просто не видит. Проюлема не в шрифтах. Может есть версия новее? у меня 1.10.



Ранг: 11.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 13 января 2006 10:56
· Личное сообщение · #20

Блин, вы меня не поняли. Я так тоже могу. Мне интересно, как узнать код для некоторого имени. Править прогу - не хочу. Че написать в строке коммандной делфи, чтоб узнать код для именя (ну типа:desi), но только ольке. Ещзе вопрос. Есть ли процедура hmemcpy в делфи?



Ранг: 133.0 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 13 января 2006 11:04
· Личное сообщение · #21

grushko Есть плагин для ольки, он ставит бряки на hmemcpy



Ранг: 35.7 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 13 января 2006 11:10
· Личное сообщение · #22

grushko пишет:
Мне интересно, как узнать код для некоторого имени

В твоей проге есть сравнение:

004537E6 |. 3BC2 CMP EAX,EDX

В регистрах EAX и EDX содержится неправильный и правильный, сгенерированный твоей прогой, серийник, там и смотри. Правда я не помню в каком регистре какой серийник. Только они в 16-тиричной системе счисления, переведи калькулятором в десятичную и радуйся.



Ранг: 53.0 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 13 января 2006 12:59
· Личное сообщение · #23

AngelDance пишет:
В моей книге

Это что за книга такая?



Ранг: 11.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 13 января 2006 13:03
· Личное сообщение · #24

какой плагин



Ранг: 35.7 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 13 января 2006 13:30 · Поправил: Const
· Личное сообщение · #25

alex111 пишет:
Это что за книга такая?

Судя по всему речь идет об этой книге



Ранг: 11.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 13 января 2006 14:19
· Личное сообщение · #26

где плагин дл ольки hmemcpy взять?




Ранг: 221.8 (наставник)
Активность: 0.150
Статус: Участник

Создано: 13 января 2006 14:36
· Личное сообщение · #27

grushko пишет:
где плагин дл ольки hmemcpy взять?

Юзай поиск или мой аттач... (вкладка поинт H)
ЗЫ
За такие вопросы обычно банят ;)


615d_ApiBreak.rar.zip



Ранг: 133.0 (ветеран)
Активность: 0.060
Статус: Участник

Создано: 13 января 2006 14:45
· Личное сообщение · #28

Const все верно. Выйдет в апреле.



Ранг: 35.7 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 13 января 2006 20:07
· Личное сообщение · #29

AngelDance пишет:
Const все верно. Выйдет в апреле.

А электронный вариант книги будет?



Ранг: 11.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 14 января 2006 16:41
· Личное сообщение · #30

то есть если я в апибреак ред барона поставлю галочки все в МЕМОРИ, то это и будет hmemcpy?


 eXeL@B —› Основной форум —› Взлом [Delphi]
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати