Teleport Pro Version 1.29

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Оформил: DeeCo

Автор: http://www.cracklab.narod.ru

Я вот решил поисследовать что-нибудь известное, и наткнулся на этот замечательный продукт, который способен закачивать целиком целые сервера, причем делает он это с огромным количеством настроек. Вобщем неплохая вещь. И как мне и нужно было, эта прога имеет ограничение в использовании (её можно запускать только 40 раз), регистрация, как мне показалось, не оказалась сложноватой, и я решил покракать её.

Я запустил программу и очень удивился, когда не увидел ни одного наг-окна или ещё чего-нибудь. Я изменил пару байтиков в программе, чтобы проверить программу на присутствие CRC проверки и оказалось, что она есть!!! Выскочил messageboxA с надписью «This programm was alterd!» или около того, вобщем я открыл WDasm и дизассемблировал pro.exe, затем открыл String Reference и начал искать подозрительные строки и вот я натолкнулся на строку «This program’s name has been changed» , я поменял имя программы с «pro.exe» на «pro-test.exe» и запустил программу, при этом выскочило сообщение с той самой строкой о неправильном имени! Я нажал на эту строку в WDasm’e и увидел вот что:

* Possible String Data Reffrom Data Obj — >» This program’s name has been changed;»

— >» please rename the program to its»

— >» original name.»

|

:0040B87F 6878C74700 push 0047C778

:0040B884 E8A1FF0300 call 0044B82A

:0040B889 6A02 push 00000002

:0040B88B E8BD240200 call 0042DD4D

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:

|:0040B860(C), :0040B87B(C)

|

* Possible String Data Reffrom Data Obj — >» q#P «

|

:0040B890 A110C74700 mov eax, dword ptr [0047C710]

:0040B895 8B4DE4 mov ecx, dword ptr [ebp-1C]

:0040B898 57 push edi

:0040B899 8B7804 mov edi, dword ptr [eax 04]

:0040B89C 8B45E8 mov eax, dword ptr [ebp-18]

:0040B89F 2BC1 sub eax, ecx

:0040B8A1 3BF8 cmp edi, eax

:0040B8A3 7322 jnb 0040B8C7

:0040B8A5 2BC7 sub eax, edi

:0040B8A7 83E808 sub eax, 00000008

Я проскролил окно листинга до места входа в эту функцию:

* Referenced by a CALL at Address:

|:00415298 ;отсюда вызывается процедура

|

:0040B82F B818074600 mov eax, 00460718

:0040B834 E8BF0B0200 call 0042C3F8

:0040B839 83EC10 sub esp, 00000010

:0040B83C 53 push ebx

:0040B83D 33DB xor ebx, ebx

:0040B83F 56 push esi

:0040B840 53 push ebx

:0040B841 6A20 push 00000020

:0040B843 53 push ebx

:0040B844 8D4DE4 lea ecx, dword ptr [ebp-1C]

:0040B847 E8A665FFFF call 00401DF2

:0040B84C FF35185A4800 push dword ptr [00485A18]

:0040B852 8D4DE4 lea ecx, dword ptr [ebp-1C]

:0040B855 895DFC mov dword ptr [ebp-04], ebx

:0040B858 E8AD000000 call 0040B90A

:0040B85D 395D08 cmp dword ptr [ebp 08], ebx

:0040B860 742E je 0040B890

:0040B862 FF7508 push [ebp 08]

:0040B865 FF35185A4800 push dword ptr [00485A18]

:0040B86B E89CF6FFFF call 0040AF0C

:0040B870 59 pop ecx

:0040B871 50 push eax

Я перешел по адресу 00415298 (Shift-F12), по которому и происходил вызов процедуры проверки правильного имени файла, и увидел вот что:

:0041528B 83EC40 sub esp, 00000040

:0041528E 53 push ebx

:0041528F 56 push esi

:00415290 57 push edi

:00415291 8BF1 mov esi, ecx

* Possible String Data Reffrom Data Obj — >» pro.exe»

|

:00415293 687CDB4700 push 0047DB7C

:00415298 E89265FFFF call 0040B82F ;(*)вызов процедуры проверки

:0041529D 8BCE mov ecx, esi

* Possible String Data Reffrom Data Obj — >» Tennyson Maxwell»

|

:0041529F C70424B8D84700 mov dword ptr [esp], 0047D8B8

:004152A6 E87E5B0400 call 0045AE29

* Possible String Data Reffrom Data Obj — >» Teleport Pro»

|

:004152AB 684CD84700 push 0047D84C

:004152B0 8D8E6D050000 lea ecx, dword ptr [esi 0000056D]

:004152B6 E83FCDFEFF call 00401FFA

:004152BB FF35185A4800 push dword ptr [00485A18]

:004152C1 8BCE mov ecx, esi

Как видите, по адресу :00415298 происходит вызов процедуры проверки. Чтобы проверки не было — достаточно забить nop’ами вызов этой процеддуры. Для этого открываем hex-editor, идём по указанному адресу и меняем «E89265FFFF» на «9090909090» — теперь можно менять имя файла на любое другое 🙂 Но как оказалось в этой же функции происходит ПРОВЕРКА НА ИЗМЕНЕНИЯ В ИСПОЛНЯЕМОМ файле (то есть CRC проверка) — Что ОООЧЕНЬ ГЛУПО! Таким образом убрав эту проверку мы тем самым убрали и проверку CRC — теперь можно править файл pro.exe как душе угодно!

Теперь я запустил 40 раз программу, чтобы исчерпать все пробные запуски и после попытки закачать что-дибо увидел сообщение о том, что все 40 раз вышли! Я опять открыл String Reference и нашел нужную строку два раза вот тут:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:0041DA22(C)

|

:0041DA61 A1F8204800 mov eax, dword ptr [004820F8]

:0041DA66 3898DD040000 cmp byte ptr [eax 000004DD], bl

:0041DA6C 743D je 0041DAAB ; тут проверяют — истёк ли триал на 40 запусков

; или нет и если не истек — прыгаем!

:0041DA6E A184E44700 mov eax, dword ptr [0047E484]

:0041DA73 8945EC mov dword ptr [ebp-14], eax

* Possible Reference to String Resource ID= 070 58 : «Sorry! The free evaluation period fo…»

|

:0041DA76 68921B0000 push 00001B92

:0041DA7B 8D4DEC lea ecx, dword ptr [ebp-14]

:0041DA7E C745FC04000000 mov [ebp-04], 00000004

:0041DA85 E85B730200 call 00444DE5

:0041DA8A 53 push ebx

:0041DA8B 57 push edi

:0041DA8C 57 push edi

:0041DA8D C745FC05000000 mov [ebp-04], 00000005

:0041DA94 FF75EC push [ebp-14]

:0041DA97 E8BD8EFFFF call 00416959

:0041DA9C 83C410 add esp, 00000010

:0041DA9F 834DFCFF or dword ptr [ebp-04], FFFFFFFF

:0041DAA3 8D4DEC lea ecx, dword ptr [ebp-14]

:0041DAA6 E9BF000000 jmp 0041DB6A

Как видим, по адресу 0041DA6C, нужно заменить je 0041DAAB на jmp 0041DAAB и теперь мерзких сообщений мы не увидим и всё будет работать как надо!

Но строка о незарегестрированности находится два раза в String Reference первый раз мы уже разобрали, а второй вот:

:00412D52 B814124600 mov eax, 00461214

:00412D57 E89C960100 call 0042C3F8

:00412D5C 83EC6C sub esp, 0000006C

:00412D5F 53 push ebx

:00412D60 56 push esi

:00412D61 57 push edi

:00412D62 8BF9 mov edi, ecx

:00412D64 8D4D88 lea ecx, dword ptr [ebp-78]

:00412D67 E876300000 call 00415DE2

:00412D6C 8B7508 mov esi, dword ptr [ebp 08]

:00412D6F 33DB xor ebx, ebx

:00412D71 395D0C cmp dword ptr [ebp 0C], ebx

:00412D74 895DFC mov dword ptr [ebp-04], ebx

:00412D77 7434 je 00412DAD ; здесь проверка нужно ли окно «О программе»

; при запуске, если вышли 40 тестовых запуска.

; Если не нужно — прыгаем!

:00412D79 A184E44700 mov eax, dword ptr [0047E484]

:00412D7E 89450C mov dword ptr [ebp 0C], eax

* Possible Reference to String Resource ID=070 58 : «Sorry! The free evaluation period for…»

|

:00412D81 68921B0000 push 00001B92

:00412D86 8D4D0C lea ecx, dword ptr [ebp 0C]

:00412D89 C645FC01 mov [ebp-04], 01

:00412D8D E853200300 call 00444DE5

:00412D92 8D450C lea eax, dword ptr [ebp 0C]

:00412D95 8D4DF0 lea ecx, dword ptr [ebp-10]

Как вы уже догадались, по адресу 00412D77, нужно чтобы мы всегда прыгали, поэтому меняем je 00412DAD на jmp 00412DAD и при запуске никаких напоминаний не будет!

Ну а для самых ленивых готовый крак:

———вырезать тут——

TeleportPro v1.29 Crack by vallkor//PTDS (vallkor@chat.ru)

removes all limits 🙂

pro.exe

00015298: E8 90

00015299: 92 90

0001529A: 65 90

0001529B: FF 90

0001529C: FF 90

0001DA6C: 74 EB

00012D77: 74 EB

———вырезать тут——

PS: статья написана только в образовательных целях, чтобы показать компаниям на возможные дыры в защите своих продуктов! Если вам понравилась описанная программа — вы обязаны купить её!!!

исследовал и наваял туториал:

vallkor //PTDS (vallkor@chat.ru)

{Комманда PTDS нуждается в новых членах! Если вы считаете, что способны на многое и хотите поделиться своими знаниями и взамен получить новые пишите мне}

{/codecitation}

Добавить комментарий