Сейчас на форуме: _MBK_, ut2004, vsv1 (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Помогите разобраться с прогой на Delphi
Посл.ответ Сообщение

Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 14 декабря 2006 13:55
· Личное сообщение · #1

В общем есть тест, который написан на Delphi (компилятор Borland Delphi 4.0 - 5.0).
При запуске теста выпадает форма, где и проходит тест.
При детальном изучении программы были найдены еще 2 формы (типо администрирования). Теперь ищу способ, как-бы добраться к этим формам из главной формы.
На второй форме была найдена кнопка, которая вызывает первую форму. Через Ollydbg был изменен адрес в функции вызова первой формы, на адрес третьей формы. Потом на главной форме было заNOPино все, что делает одна из кнопок и поставлен JMP на адрес кнопки на второй форме, которая вызывает третью форму.
Но к сожалению ничего не получилось. Прога запускаеться без ошибок, но при нажатии на кнопку ничего не происходит.
Так-же были найдены кнопки на главной форме, которые вызывают вторую и третью формы, но заводит в ступор то, что функции к кнопкам как-бы прикреплены, но самих кнопок нет.... никак не могу понять, что это такое.

Кто может помогите со взломом этого теста. Я не прошу ломать, просто может кто-то сталкивался с такой проблемой - наставте на правильный путь.

d513_14.12.2006_CRACKLAB.rU.tgz - crack_test.zip




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

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

c001z3rO пишет:
функции к кнопкам как-бы прикреплены, но самих кнопок нет....


ну сделай эти кнопки видимыми в любом редакторе ресурсов! =)

-----
[nice coder and reverser]




Ранг: 105.9 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 14 декабря 2006 21:40
· Личное сообщение · #3

c001z3rO пишет:
Так-же были найдены кнопки на главной форме, которые вызывают вторую и третью формы,

А как ты их нашел? Чего-то я грузил в ДеДе, смотрел в Рестораторе, еще в кое-каких редакторах. Ничего не увидел.




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 15 декабря 2006 02:01
· Личное сообщение · #4

c001z3rO, в тос что ты приаттачил нехватает фвйлов, выкладывай программу целиком!

-----
-=истина где-то рядом=-





Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 15 декабря 2006 03:58
· Личное сообщение · #5

Вобщем нашол участок кода, которым можно зажифровать исходный (нормальный текст)...

004487BC 53 push ebx
004487BD 8BD8 mov ebx, eax
004487BF 68A3000000 push $000000A3

* Reference to pointer to GlobalVar_00451078
|
004487C4 8B15A0FD4400 mov edx, [$0044FDA0]
004487CA A1C4FD4400 mov eax, dword ptr [$0044FDC4]
004487CF B903000000 mov ecx, $00000003

* Reference to: Main.Proc_004497A0
|
004487D4 E8C70F0000 call 004497A0

* Possible String Reference to: 'CodeTest.txt'
|
004487D9 BA04884400 mov edx, $00448804

* Possible String Reference to: 'Test.txt'
|
004487DE B81C884400 mov eax, $0044881C

* Reference to: Main.Proc_00449DB0
|
004487E3 E8C8150000 call 00449DB0

* Possible String Reference to: 'Файл закодовано'
|
004487E8 BA30884400 mov edx, $00448830

* Reference to control TForm1.Label1 : TLabel
|
004487ED 8B83E4020000 mov eax, [ebx+$02E4]

* Reference to: controls.TControl.SetText(TControl;TCaption);
|
004487F3 E8D0D4FDFF call 00425CC8
004487F8 5B pop ebx
004487F9 C3 ret



Что бы запустить программу нормально, нужно прописать текущий каталог в ProtocolDir.txt

И кое что поднопить, что б программа не завершалась.

Если не ошибаюсь - то тут: 0044D462 /77 0A JA SHORT Test_Pas.0044D46E

-----
-=истина где-то рядом=-





Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 15 декабря 2006 04:38
· Личное сообщение · #6

c001z3rO пишет:
Кто может помогите со взломом этого теста


А какая цель взлома? Расскадировать тест? Подсмотреть правильные результаты?

-----
-=истина где-то рядом=-




Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 15 декабря 2006 23:08
· Личное сообщение · #7

Сначала я видел код процедур Button1Click, но самих кнопок ни в каком редакторе ресурсов не было. Вчера наконец-то понял, что нормальные процедуры нажатия на кнопки - procedure Button2Click(Sender: TObject);, а в моем случае - procedure Button1Click; тоисть это обычная процедура, просто с таким именем, что-бы нас запутать....
KingSise, в том-то и дело, что программы целиком нет, приходиться довольствоваться тем, что есть.
Я знал, что в ProtocolDir.txt нужно писать какой-то каталог на своем компе, там потом будут сохраняться отчеты.
Цель взлома сначала была - добраться до других форм. Теперь кнешно хочеться и текст расскодировать и результаты посмотреть. Ну хотя-бы задания расскодировать.




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 16 декабря 2006 02:28
· Личное сообщение · #8

c001z3rO, ты пост выше читал? Задания я уже расскодирывал. тут: 0044D462 измени на 9090 (nop) и читай задания....

c001z3rO пишет:
Цель взлома сначала была - добраться до других форм
- такое впечетление что код выризан из программы... В сомой программе 3 формы, 2 из которых я впор запустить не могу...

Так что если цель только вопросы почитать - то задача выполнена.

З.Ы. Приаттачил пропатченный файл, готовься в общем к экзаменам.


f4b3_16.12.2006_CRACKLAB.rU.tgz - no_termTest_Pascal.rar

-----
-=истина где-то рядом=-





Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 16 декабря 2006 02:55 · Поправил: KingSise
· Личное сообщение · #9

0044E674 TMainForm.Button1Click:
0044E674 A160FF4400 mov eax,[L0044FF60]
0044E679 8B00 mov eax,[eax]
0044E67B E80421FFFF call SUB_L00440784
0044E680 C3 retn


Вот код первой кнопки, она открывает форму адменестрирования. Переназначь события и все будет ништяк. Я делел так: вместо события при нажатии на "регестрацыя", влипил джам на этот код.



А вот код, который вызывает вторую форму:

0044E218 A13CFF4400 mov eax,[L0044FF3C]
0044E21D 8B00 mov eax,[eax]
0044E21F E86025FFFF call SUB_L00440784
0044E224 C3 retn

Тоже самое, переназначаешь события и все ништяк:

Первая формочка:



Вторая:



З.Ы. Странная программка, токое впечатления что в ней немного кода выризали. Вот например:
0044E214 TMainForm.Button8Click:
0044E214 C3 retn

странно вобщем....


"протокол за выбором" - расскодирует закодированный тест, а "кодування" - закодирует обратно.

-----
-=истина где-то рядом=-




Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 декабря 2006 05:59
· Личное сообщение · #10

заNOPил это - 0044D462 /77 0A JA SHORT Test_Pas.0044D46E
программа нормально работает. Вопросы россшифровываються. Спасибо.
А вот мне для учебы интересно, как ты нашол, что нужно NOPить именно это?

Пробовал делать джампы на 44E674 - ничего не получилось
Как ты это сделал? Приаттач пропатченный файл, что-бы "регистрация" открывала первую форму, а я посморю...

З.Ы. Екзамены сдал еще вчера - всё ОК. Теперь просто интересно самому, как этот тест работает.




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 16 декабря 2006 09:22 · Поправил: KingSise
· Личное сообщение · #11

c001z3rO пишет:
Как ты это сделал?

Открыл в деде, посморел события....


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

ca68_16.12.2006_CRACKLAB.rU.tgz - Form1.rar

-----
-=истина где-то рядом=-




Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

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

Всё нормально. Открываеться первая форма. Сделал, что-бы открывалась вторая форма.
Если меняю джамп в твоей проге, то все ОК. А если в начальной - то ничего не получаеться... Что ты еще изменял кроме NOP первых трьех строчек и джамп в первой строке в событии кнопки "регистрация" ?

Кста, после того как заNOPил 0044D462 /77 0A JA SHORT Test_Pas.0044D46E, прога всё равно всё время работать не будет. Днем работает, а вот ночью опять вылетает. Там наверное идет какой-то контроль времени.
Как ты узнал, что NOPить нужно именно 0044D462 /77 0A JA SHORT Test_Pas.0044D46E ?



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 16 декабря 2006 14:53
· Личное сообщение · #13

А можно как-то узнать, как препод вызывает эти формы?




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 16 декабря 2006 15:15 · Поправил: KingSise
· Личное сообщение · #14

c001z3rO, все, программу я с компа удалил. Как препод формы вызывает - не знаю, но могу предположить, что ты не всю программу скопирывал, должно быть что-то еще. Или возможно у препода патч есть.

c001z3rO пишет:
. Там наверное идет какой-то контроль времени.

Значит отслеживай: GetSystemTime, GetLocalTime, GetSystemTimeAsFileTime

Я тебе уже и так точку опоры дал, дельше деде в руки и веред исследовать. Думал вопросов больше не будетю

-----
-=истина где-то рядом=-




Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 17 декабря 2006 06:31
· Личное сообщение · #15

Ты точку опоры то дал.
Но мне просто хотелось-бы самому научиться и узнать почему нужно NOPить именно 0044D462.
И я не понял, как ты сделал джамп. Тоисть я понял, но когда я делаю в исходной проге - то у мя форма не открываеться. А когда меняю джамп на другую форму в твоей - то всё отлично.

Огромное спасибо!




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 17 декабря 2006 06:39
· Личное сообщение · #16

c001z3rO пишет:
исходной проге - то у мя форма не открываеться.


Открывается она. Просто ты ее не видешь.

-----
-=истина где-то рядом=-




Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 17 декабря 2006 06:47
· Личное сообщение · #17

И как ты сделал, что-бы её было видно?



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 17 декабря 2006 08:02
· Личное сообщение · #18

Всё, понял, изменил.

Спасибо всем, кто помогал.
Огромное спасибо KingSise


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


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