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

 eXeL@B —› Вопросы новичков —› Взлом ThemeEngine 6.05
Посл.ответ Сообщение

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

Создано: 24 июля 2006 14:06 · Поправил: RENEGADE
· Личное сообщение · #1

Я думаю нет необходимости говорить, что это за библиотека.

При запуске она выдаёт окно, что неплохо бы купить эту библиотеку.
Вызов этого окна осуществляется в файле te_engine.dcu. Процедура называется ShowVersion2

Вот что говорит DeDe

Warning: used unit "ImgList" not found or incorrect - all imported names will be shown with unit names
unit te_engine;
{Source files:
..\te_engine.pas (23.11.2005 1:43:04), te_define.inc (17.06.2006 0:10:36),
te_engine.inc (17.06.2006 18:55:12)}

interface

uses
te_const {
A:SNoTheme, A:SPreviewButton},
te_version {
T:TTeThemeVersion, A:SThemeEngineVersion, A:ShowVersion2},
te_themecontrols,


procedure te_engine;
begin
00000000 : 83 2D(00 00 00 00 01 SUB DWORD PTR [_NV_20F],1
00000007 : 73 0F JNB +15; (0x18)
00000009 : A1(00 00 00 00 MOV EAX,DWORD PTR [_DV_TTeThemeStream{0x203}]
0000000E : E8(00 00 00 00 CALL RegisterClass{0x189}
00000013 : E8(00 00 00 00 CALL ShowVersion2{0x7}
00000018 : C3( RET NEAR
end;



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

Создано: 24 июля 2006 14:17
· Личное сообщение · #2

А вот и сам файл.

afe3_24.07.2006_CRACKLAB.rU.tgz - te_engine.dcu



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

Создано: 25 июля 2006 07:35
· Личное сообщение · #3

В результате проведённых изысканий найден фрагмент кода:

004C54F3 6A 00 PUSH 0 ; /Arg3 = 00000000
004C54F5 53 PUSH EBX ; |Arg2 = 7FFDE000
004C54F6 56 PUSH ESI ; |Arg1 = FFFFFFFF
004C54F7 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] ; |
004C54FA 50 PUSH EAX ; |/Arg1 = 00000000
004C54FB B8 54554C00 MOV EAX,004C5554 ; ||ASCII "ThemeEngine version 6.05"
004C5500 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX ; ||
004C5503 C645 F8 0B MOV BYTE PTR SS:[EBP-8],0B ; ||
004C5507 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C] ; ||
004C550A 33C9 XOR ECX,ECX ; ||
004C550C B8 78554C00 MOV EAX,004C5578 ; ||ASCII "This application uses a trial sion of ThemeEngine.",CR,LF,CR,>
004C5511 E8 9E43F4FF CALL 004098B4 ; |\Project1.004098B4
004C5516 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
004C5519 66:8B0D D4564C00 MOV CX,WORD PTR DS:[4C56D4] ; |
004C5520 B2 02 MOV DL,2 ; |
004C5522 E8 4DB2F8FF CALL 00450774 ; \Project1.00450774

Если его занопить, то в программе окно исчезает, в dcu файле te_version найден похожий фрагмент

0000004B : 6A 00 PUSH $00
0000004D : 53 PUSH EBX
0000004E : 56 PUSH ESI
0000004F : 8D 45 FC LEA EAX,DWORD PTR [EBP-4]
00000052 : 50 PUSH EAX
00000053 : B8(AC 00 00 00 MOV EAX,ShowVersion2{0x20}+172

00000058 : 89 45 F4 MOV DWORD PTR [EBP-12],EAX
0000005B : C6 45 F8 0B MOV BYTE PTR [EBP-8],$0B
0000005F : 8D 55 F4 LEA EDX,DWORD PTR [EBP-12]
00000062 : 33 C9 XOR ECX,ECX
00000064 : B8(D0 00 00 00 MOV EAX,ShowVersion2{0x20}+208
00000069 : E8(00 00 00 00 CALL Format{0xD}
0000006E : 8B 45 FC MOV EAX,DWORD PTR [EBP-4]
00000071 : 66 8B 0D(2C 02 00 00 MOV CX,WORD PTR [ShowVersion2{0x20}+556]
00000078 : B2 02 MOV DL,$02
0000007A : E8(00 00 00 00 CALL MessageDlgPos{0x14}

Однако, если исправить его то вылетает ошибка. В чём может быть проблемма?


4d0f_25.07.2006_CRACKLAB.rU.tgz - te_version.dcu



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 25 июля 2006 12:11
· Личное сообщение · #4

RENEGADE пишет:
В чём может быть проблемма?

Нопил небось в HVIEW ?! Начальный файл был 34 кило, а занопленный всего 1. Обрезался он у тебя.



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

Создано: 25 июля 2006 12:16
· Личное сообщение · #5

Да нет в WinHex всё делал. Как эту занозу обойти? Ведь в проге всё нормально работает.



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

Создано: 26 июля 2006 07:39
· Личное сообщение · #6

Если кто решит скачать данную библиотеку и попинаться с ней, то вот ссылка

http://www.ksdev.com/files/tetriald5-6_06.zip http://www.ksdev.com/files/tetriald5-6_06.zip

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



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

Создано: 26 июля 2006 13:43
· Личное сообщение · #7

Кстати, компонент ThemeWizard, того же автора можно сломать таким же способом, так, что если кто сломает один из этих компонентов, просьба дать мне знать. Мой ICQ 291934275



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

Создано: 26 июля 2006 15:09
· Личное сообщение · #8

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

0051E444 . 55 PUSH EBP
0051E445 . 8BEC MOV EBP,ESP
0051E447 . 33C0 XOR EAX,EAX
0051E449 . 55 PUSH EBP
0051E44A . 68 DCE45100 PUSH 0051E4DC
0051E44F . 64:FF30 PUSH DWORD PTR FS:[EAX]
0051E452 . 64:8920 MOV DWORD PTR FS:[EAX],ESP
0051E455 . FF05 50F95700 INC DWORD PTR DS:[57F950]
0051E45B . 75 71 JNZ SHORT 0051E4CE
0051E45D . E8 0AD5FDFF CALL 004FB96C
0051E462 . A1 84F95700 MOV EAX,DWORD PTR DS:[57F984]
0051E467 . E8 A84AEEFF CALL 00402F14
0051E46C . 833D 4CF95700 00 CMP DWORD PTR DS:[57F94C],0
0051E473 . 74 0A JE SHORT 0051E47F
0051E475 . A1 4CF95700 MOV EAX,DWORD PTR DS:[57F94C]
0051E47A . E8 954AEEFF CALL 00402F14
0051E47F > 833D F0645600 00 CMP DWORD PTR DS:[5664F0],0
0051E486 . 74 1C JE SHORT 0051E4A4
0051E488 . A1 F0645600 MOV EAX,DWORD PTR DS:[5664F0]
0051E48D . 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
0051E490 . 8B15 047B5600 MOV EDX,DWORD PTR DS:[567B04] ; Project1.005687D8
0051E496 . 3B02 CMP EAX,DWORD PTR DS:[EDX]
0051E498 . 75 0A JNZ SHORT 0051E4A4
0051E49A . B8 F0645600 MOV EAX,005664F0
0051E49F . E8 58F2EEFF CALL 0040D6FC
0051E4A4 > B8 C0655600 MOV EAX,005665C0
0051E4A9 . B9 0B000000 MOV ECX,0B
0051E4AE . 8B15 E0104000 MOV EDX,DWORD PTR DS:[4010E0] ; Project1.004010E4
0051E4B4 . E8 8364EEFF CALL 0040493C
0051E4B9 . B8 4C655600 MOV EAX,0056654C
0051E4BE . B9 0B000000 MOV ECX,0B
0051E4C3 . 8B15 D4104000 MOV EDX,DWORD PTR DS:[4010D4] ; Project1.004010D8
0051E4C9 . E8 6E64EEFF CALL 0040493C
0051E4CE > 33C0 XOR EAX,EAX
0051E4D0 . 5A POP EDX ; kernel32.77E7EB69
0051E4D1 . 59 POP ECX ; kernel32.77E7EB69
0051E4D2 . 59 POP ECX ; kernel32.77E7EB69
0051E4D3 . 64:8910 MOV DWORD PTR FS:[EAX],EDX
0051E4D6 . 68 E3E45100 PUSH 0051E4E3
0051E4DB > C3 RETN ; RET used as a jump to 0051E4E3
0051E4DC .^ E9 9351EEFF JMP 00403674
0051E4E1 .^ EB F8 JMP SHORT 0051E4DB
0051E4E3 > 5D POP EBP ; kernel32.77E7EB69
0051E4E4 . C3 RETN
0051E4E5 8D40 00 LEA EAX,DWORD PTR DS:[EAX]
0051E4E8 55 PUSH EBP
0051E4E9 8BEC MOV EBP,ESP
0051E4EB 83C4 F4 ADD ESP,-0C
0051E4EE 832D 50F95700 01 SUB DWORD PTR DS:[57F950],1
0051E4F5 0F83 F4000000 JNB 0051E5EF
0051E4FB B8 58E25100 MOV EAX,0051E258
0051E500 E8 DF54EEFF CALL 004039E4
0051E505 B8 ACE25100 MOV EAX,0051E2AC
0051E50A E8 F154EEFF CALL 00403A00
0051E50F B8 E8E35100 MOV EAX,0051E3E8
0051E514 E8 0755EEFF CALL 00403A20
0051E519 A1 EC645600 MOV EAX,DWORD PTR DS:[5664EC]
0051E51E A3 EC645600 MOV DWORD PTR DS:[5664EC],EAX
0051E523 C705 B8F85700 9400>MOV DWORD PTR DS:[57F8B8],94
0051E52D 68 B8F85700 PUSH 0057F8B8 ; /pVersionInformation = Project1.0057F8B8
0051E532 E8 358BEEFF CALL <JMP.&kernel32.GetVersionExA> ; \GetVersionExA
0051E537 833D C8F85700 02 CMP DWORD PTR DS:[57F8C8],2
0051E53E 0F9405 B4F85700 SETE BYTE PTR DS:[57F8B4]
0051E545 833D C8F85700 01 CMP DWORD PTR DS:[57F8C8],1
0051E54C 75 09 JNZ SHORT 0051E557
0051E54E 833D C0F85700 00 CMP DWORD PTR DS:[57F8C0],0
0051E555 77 04 JA SHORT 0051E55B
0051E557 33C0 XOR EAX,EAX
0051E559 EB 02 JMP SHORT 0051E55D
0051E55B B0 01 MOV AL,1
0051E55D A2 B5F85700 MOV BYTE PTR DS:[57F8B5],AL
0051E562 E8 F9D2FEFF CALL 0050B860
0051E567 A1 E0574F00 MOV EAX,DWORD PTR DS:[4F57E0]
0051E56C 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX
0051E56F A1 A4554F00 MOV EAX,DWORD PTR DS:[4F55A4]
0051E574 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0051E577 A1 C4564F00 MOV EAX,DWORD PTR DS:[4F56C4]
0051E57C 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
0051E57F 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
0051E582 BA 02000000 MOV EDX,2
0051E587 E8 2829EFFF CALL 00410EB4
0051E58C BA 10E25100 MOV EDX,0051E210
0051E591 A1 00684F00 MOV EAX,DWORD PTR DS:[4F6800]
0051E596 E8 F177F7FF CALL 00495D8C
0051E59B A1 94794F00 MOV EAX,DWORD PTR DS:[4F7994]
0051E5A0 E8 1328EFFF CALL 00410DB8
0051E5A5 A1 3C784F00 MOV EAX,DWORD PTR DS:[4F783C]
0051E5AA E8 0928EFFF CALL 00410DB8
0051E5AF B8 54F95700 MOV EAX,0057F954
0051E5B4 33C9 XOR ECX,ECX
0051E5B6 BA 2C000000 MOV EDX,2C
0051E5BB E8 3446EEFF CALL 00402BF4
0051E5C0 E8 93A7FEFF CALL 00508D58
0051E5C5 B8 88F95700 MOV EAX,0057F988
0051E5CA 33C9 XOR ECX,ECX
0051E5CC BA 2C000000 MOV EDX,2C
0051E5D1 E8 1E46EEFF CALL 00402BF4
0051E5D6 8B0D 047B5600 MOV ECX,DWORD PTR DS:[567B04] ; Project1.005687D8
0051E5DC 8B09 MOV ECX,DWORD PTR DS:[ECX] ; ntdll.77F7F20F
0051E5DE B2 01 MOV DL,1
0051E5E0 A1 1CAC4F00 MOV EAX,DWORD PTR DS:[4FAC1C]
0051E5E5 E8 221AFFFF CALL 0051000C
0051E5EA A3 F0645600 MOV DWORD PTR DS:[5664F0],EAX
0051E5EF 8BE5 MOV ESP,EBP
0051E5F1 5D POP EBP ; kernel32.77E7EB69
0051E5F2 C3 RETN
0051E5F3 90 NOP
0051E5F4 2D 20546865 SUB EAX,65685420
0051E5F9 6D INS DWORD PTR ES:[EDI],DX ; I/O command
0051E5FA 65:57 PUSH EDI ; Superfluous prefix
0051E5FC 697A 61 72642076 IMUL EDI,DWORD PTR DS:[EDX+61],76206472
0051E603 65:72 73 JB SHORT 0051E679 ; Superfluous prefix
0051E606 696F 6E 20322E30 IMUL EBP,DWORD PTR DS:[EDI+6E],302E3220
0051E60D 3120 XOR DWORD PTR DS:[EAX],ESP
0051E60F 2D 20443520 SUB EAX,20354420
0051E614 2D 20436F70 SUB EAX,706F4320
0051E619 79 72 JNS SHORT 0051E68D
0051E61B 6967 68 74202843 IMUL ESP,DWORD PTR DS:[EDI+68],43282074
0051E622 2920 SUB DWORD PTR DS:[EAX],ESP
0051E624 3230 XOR DH,BYTE PTR DS:[EAX]
0051E626 30342D 32303035 XOR BYTE PTR DS:[EBP+35303032],DH
0051E62D 2062 79 AND BYTE PTR DS:[EDX+79],AH
0051E630 2045 75 AND BYTE PTR SS:[EBP+75],AL
0051E633 67:65:6E OUTS DX,BYTE PTR ES:[DI] ; I/O command
0051E636 65:204B 72 AND BYTE PTR GS:[EBX+72],CL
0051E63A 79 75 JNS SHORT 0051E6B1
0051E63C 6B6F 76 20 IMUL EBP,DWORD PTR DS:[EDI+76],20
0051E640 2D 00000055 SUB EAX,55000000
0051E645 8BEC MOV EBP,ESP
0051E647 83C4 F4 ADD ESP,-0C
0051E64A 53 PUSH EBX
0051E64B 56 PUSH ESI
0051E64C 33C0 XOR EAX,EAX
0051E64E 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
0051E651 33C0 XOR EAX,EAX
0051E653 55 PUSH EBP
0051E654 68 D9E65100 PUSH 0051E6D9
0051E659 64:FF30 PUSH DWORD PTR FS:[EAX]
0051E65C 64:8920 MOV DWORD PTR FS:[EAX],ESP
0051E65F A1 607D5600 MOV EAX,DWORD PTR DS:[567D60]
0051E664 8B00 MOV EAX,DWORD PTR DS:[EAX]
0051E666 E8 5950F3FF CALL 004536C4
0051E66B 2D 90010000 SUB EAX,190
0051E670 E8 9F45EEFF CALL 00402C14
0051E675 8BD8 MOV EBX,EAX
0051E677 A1 607D5600 MOV EAX,DWORD PTR DS:[567D60]
0051E67C 8B00 MOV EAX,DWORD PTR DS:[EAX]
0051E67E E8 3550F3FF CALL 004536B8
0051E683 2D C8000000 SUB EAX,0C8
0051E688 E8 8745EEFF CALL 00402C14
0051E68D 8BF0 MOV ESI,EAX
0051E68F 6A 00 PUSH 0 ; /Arg3 = 00000000
0051E691 53 PUSH EBX ; |Arg2 = 7FFDF000
0051E692 56 PUSH ESI ; |Arg1 = 00000000
0051E693 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] ; |
0051E696 50 PUSH EAX ; |/Arg1 = 00000000
0051E697 B8 F0E65100 MOV EAX,0051E6F0 ; ||ASCII "ThemeWizard version 2.01"
0051E69C 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX ; ||
0051E69F C645 F8 0B MOV BYTE PTR SS:[EBP-8],0B ; ||
0051E6A3 8D55 F4 LEA EDX,DWORD



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

Создано: 26 июля 2006 15:26
· Личное сообщение · #9

В программе вызов окошка крутить вокруг во этого кода

0040397C > /8B04DF MOV EAX,DWORD PTR DS:[EDI+EBX*8] ; Project1.00406C90
0040397F . |43 INC EBX
00403980 . |891D B0845600 MOV DWORD PTR DS:[5684B0],EBX
00403986 . |85C0 TEST EAX,EAX ; Project1.00406EF4
00403988 . |74 02 JE SHORT 0040398C
0040398A . |FFD0 CALL EAX ; Project1.00406EF4
0040398C > |3BF3 CMP ESI,EBX
0040398E .^\7F EC JG SHORT 0040397C

При определённом условии срабатывает вызов FFD0 CALL EAX
В EAX в это время занесено 00563270
И появляется ненужное мне окошко. После нажатия на кнопку OK. Всё перескакивает на
00564967 . E8 F40EEFFF CALL 00455860

Специалисты напрягите мозги. Как обойти всё это. Как ломануть в программе, это и я могу. Как ломануть в компоненте не получается. Неужели оскудела земля Русская!!!!



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

Создано: 28 июля 2006 10:35
· Личное сообщение · #10

Показ нага осуществляется вот этой процедурой

procedure ShowVersion2;
const
AboutText =
'This application uses a trial version of SkinEngine.'#13#10#13#10 +
'Please contact the provider of the application for a registered version.'#13#10 +
#13#10+
'%s'#13#10 +
'Copyright (C) 2001-2002 by Evgeny Kryukov'#13#10 +
#13#10 +
'For conditions of distribution and use, see LICENSE.TXT.'#13#10 +
#13#10 +
'Visit our web site for the latest versions of SkinEngine:'#13#10 +
#13#10 +
'http://www.ksdev.com/' +
#13#10 +
'support@ksdev.com';
var
X, Y: integer;
begin
X := Random(Screen.Width - 400);
Y := Random(Screen.Height - 200);
MessageDlgPos(Format(AboutText, [sSeSkinVersionPropText]), mtInformation, [mbOK], 0, X, Y);
end;

Как найти откуда она вызывается и нейтрализовать её.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 28 июля 2006 11:46
· Личное сообщение · #11

Прикольный диалог с самим собой

RENEGADE пишет:
Как найти откуда она вызывается и нейтрализовать её.

Бряк на нее поставить наверно..



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 28 июля 2006 12:20
· Личное сообщение · #12

RENEGADE пишет:
Да нет в WinHex всё делал.

Ну так повтори и следи внимательно за сообщениями и длиной файла.


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


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