Сейчас на форуме: Magister Yoda, vasilevradislav (+3 невидимых)

 eXeL@B —› Крэки, обсуждения —› снятия ограничение с демо
Посл.ответ Сообщение


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

Создано: 17 июня 2015 10:38 · Поправил: KingSise
· Личное сообщение · #1

Исследую программку вот эту программку (рисование схем):
https://www.dropbox.com/s/ev15cm8cil1vuic/test.rar?dl=0 (1 Mb)

Из ограничений - отсутствие сохранения, вывода на печать, экспорта в файл, наг-скрин.

Где это все проверяется в общем-то нашел быстро, но некоторые сложности все же возникли, потому прошу помочь советом.


вот процедура которая выводит наг скрин:

CPU Disasm
Address Hex dump Command Comments
006255E4 /$ A1 94D96300 MOV EAX,DWORD PTR DS:[Layout60.63D994]
006255E9 0FB600 MOVZX EAX,BYTE PTR DS:[EAX] ; lic
006255EC 2C 01 SUB AL,1
006255EE |. 72 08 JB SHORT Layout60.006255F8
006255F0 |. 74 1D JZ SHORT Layout60.0062560F
006255F2 |. FEC8 DEC AL
006255F4 |. 74 30 JZ SHORT Layout60.00625626
006255F6 |. EB 44 JMP SHORT Layout60.0062563C
006255F8 |> 68 40200000 PUSH 2040 ; /Type = MB_OK|MB_ICONASTERISK|MB_DEFBUTTON1|MB_TASKMODAL, case 0 of switch Layout60.6255EC
006255FD |. 68 40566200 PUSH Layout60.00625640 ; |Caption = "Sprint-Layout"
00625602 |. 68 50566200 PUSH Layout60.00625650 ; |Text = "Dies ist eine Demo-Version von Sprint-Layout 6.0

Das Speichern, Exportieren und Drucken von Layouts ist deaktiviert.
"
00625607 |. 6A 00 PUSH 0 ; |hOwner = NULL
00625609 |. E8 BA34DEFF CALL <JMP.&user32.MessageBoxA> ; \USER32.MessageBoxA
0062560E |. C3 RETN
0062560F |> 68 40200000 PUSH 2040 ; /Type = MB_OK|MB_ICONASTERISK|MB_DEFBUTTON1|MB_TASKMODAL, case 1 of switch Layout60.6255EC
00625614 |. 68 40566200 PUSH Layout60.00625640 ; |Caption = "Sprint-Layout"
00625619 |. 68 C8566200 PUSH Layout60.006256C8 ; |Text = "This is a demo version of Sprint-Layout 6.0

Saving, exporting and printing is disabled.
"
0062561E |. 6A 00 PUSH 0 ; |hOwner = NULL
00625620 |. E8 A334DEFF CALL <JMP.&user32.MessageBoxA> ; \USER32.MessageBoxA
00625625 |. C3 RETN
00625626 |> 68 40200000 PUSH 2040 ; /Type = MB_OK|MB_ICONASTERISK|MB_DEFBUTTON1|MB_TASKMODAL, case 2 of switch Layout60.6255EC
0062562B |. 68 40566200 PUSH Layout60.00625640 ; |Caption = "Sprint-Layout"
00625630 |. 68 24576200 PUSH Layout60.00625724 ; |Text = "Ceci est la version de d"
00625635 |. 6A 00 PUSH 0 ; |hOwner = NULL
00625637 |. E8 8C34DEFF CALL <JMP.&user32.MessageBoxA> ; \USER32.MessageBoxA
0062563C \> C3 RETN ; Default case of switch Layout60.6255EC


в самом начале мы видим, что читается байт и далее в зависимости от значения что то происходит. Если там будет 3, то наг скринов не будет, остальное - выбор языка походу... Значение этого байта не меняется в ходе работы программы, что туда запихнуть, то и останется...


"0" записывается по данному адресу вот тут:

CPU Disasm
Address Hex dump Command Comments
005E422B |. E8 E8C2EBFF CALL Layout60.004A0518
005E4230 |. 8B15 94D96300 MOV EDX,DWORD PTR DS:[Layout60.63D994]
005E4236 |. 8802 MOV BYTE PTR DS:[EDX],AL <<------

Но как я понимаю, это все выбор языка, и отключенные функции не активирует. Тем не менее судя по коду, похоже на то, что функции печати, сохранения и экспорта присутствуют...

Вот начало события печати:

CPU Disasm
Address Hex dump Command Comments
005FDB50 /. 55 PUSH EBP ; Print


вот тут есть интересность *таже функция печати:
CPU Disasm
Address Hex dump Command Comments
005FDBB8 |. D81D ECDC5F00 FCOMP DWORD PTR DS:[Layout60.5FDCEC] ; FLOAT 1000000.
005FDBBE |. 9B WAIT
005FDBBF |. DFE0 FSTSW AX
005FDBC1 |. 9E SAHF
005FDBC2 |. 75 27 JNE SHORT Layout60.005FDBEB ; Taken if ST!=[5FDCEC] in preceding FCOMP at 005FDBB8
005FDBC4 |. DD45 E8 FLD QWORD PTR SS:[LOCAL.6]
005FDBC7 |. D80D ECDC5F00 FMUL DWORD PTR DS:[Layout60.5FDCEC] ; FLOAT 1000000.
005FDBCD |. E8 4E57E0FF CALL Layout60.00403320
005FDBD2 |. 8945 D8 MOV DWORD PTR SS:[LOCAL.10],EAX ; UNICODE "C1C7-11D4-87F9-0080C882687E}"
005FDBD5 |. 8955 DC MOV DWORD PTR SS:[LOCAL.9],EDX
005FDBD8 |. DF6D D8 FILD QWORD PTR SS:[LOCAL.10]
005FDBDB |. D81D ECDC5F00 FCOMP DWORD PTR DS:[Layout60.5FDCEC] ; FLOAT 1000000.
005FDBE1 |. 9B WAIT
005FDBE2 |. DFE0 FSTSW AX
005FDBE4 |. 9E SAHF
005FDBE5 |. 0F84 CC000000 JE Layout60.005FDCB7 ; Taken if ST==[5FDCEC] in preceding FCOMP at 005FDBDB
005FDBEB |> A1 94D96300 MOV EAX,DWORD PTR DS:[Layout60.63D994]
005FDBF0 |. 0FB600 MOVZX EAX,BYTE PTR DS:[EAX]
005FDBF3 |. 2C 01 SUB AL,1 ;

Там происходят какие то вычисления, но заканчивается все опять же свитчем с выбором языка... А вот ака должна вести себя процедура "нормально", я пока найти не могу...

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




Ранг: 35.1 (посетитель), 32thx
Активность: 0.040.01
Статус: Участник

Создано: 17 июня 2015 15:01 · Поправил: GMAP
· Личное сообщение · #2

Если это действительно "demo version of Sprint-Layout 6.0", то она не ломается, за полным отсутствием смысла в этом действии - там нечего ломать. Любой апдейт является уже ретейлом, ломается двумя байтами, хотя есть и лицензионная дллка extfunc.dll (фальшак, ессно) на руборде. Кстати, все софты Абакома ломаются одними и теми же двумя байтами, искать в районе, где ссылка на эту самую extfunc.dll, правится один джамп.
P.S. Порылся в закромах, вот искомое:
0016391F: 8B951CFDFFFF mov edx,[ebp][-0000002E4]
00163925: 8D45F8 lea eax,[ebp][-8]
00163928: B9A4455600 mov ecx,0005645A4 ;'EXTFUNC.DLL' -- 1
0016392D: E8BA13EAFF call 000004CEC -- 2
00163932: 8B45F8 mov eax,[ebp][-8]
00163935: E87664EAFF call 000009DB0 -- 3
0016393A: 84C0 test al,al
0016393C: 7412 jz 000163950 условный переход на 00163950 заменить на следующую строчку:
0016393C: EB17 jmps 000163955 безусловный переход на 00163955: 33C0 xor eax,eax
0016393E: 8B4DF0 mov ecx,[ebp][-010]
00163941: 8B55F8 mov edx,[ebp][-8]
00163944: 8B45FC mov eax,[ebp][-4]
00163947: E864000000 call 0001639B0 -- 5
0016394C: 84C0 test al,al
0016394E: 7505 jnz 000163955 -- 6
00163950: E8ABFBFFFF call 000163500 -- 7
00163955: 33C0 xor eax,eax
00163957: 5A pop edx
00163958: 59 pop ecx
00163959: 59 pop ecx
0016395A: 648910 mov fs:[eax],edx
0016395D: 6887455600 push 000564587 -- 8
00163962: 8D8518FDFFFF lea eax,[ebp][-0000002E8]
00163968: BA03000000 mov edx,3
0016396D: E88E10EAFF call 000004A00 -- 9
00163972: 8D45F4 lea eax,[ebp][-00C]
00163975: BA03000000 mov edx,3
0016397A: E88110EAFF call 000004A00 -- 9
0016397F: C3 retn ; -^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-




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

Создано: 17 июня 2015 16:30
· Личное сообщение · #3

GMAP пишет:
Кстати, все софты Абакома ломаются одними и теми же двумя байтами, искать в районе, где ссылка на эту самую extfunc.dll, правится один джамп.


Это я уже в принципе понял, ломая другие их программы, но вот с этой были некоторые сомнения ☺.

Но тут есть одна интересность, предполагаю что экспорт картинок можно починить, как то у меня получилось при нажатии на экспорт копировать в буфер, но повторить пока не смог... Позже попробую покопать в этом направлении...

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




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

Создано: 17 июня 2015 22:51 · Поправил: VodoleY
· Личное сообщение · #4

KingSise както очень давно ломал демку на делфи с вырезанным сохранением.. НО там все рисовалось на базовый комонент, как следствие у компонента есть метод сейв ту файл.. вся задача найти его в ВМТ и заинжектить 10 строк кода куданибудь
ЗЫ. прогу вашу не смотрел, но может как вариант, натолкнет на идею

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 35.1 (посетитель), 32thx
Активность: 0.040.01
Статус: Участник

Создано: 18 июня 2015 06:26
· Личное сообщение · #5

KingSise
Тогда проще сравнить демо и любой апдейт, поскольку ретейловый исходный дистрибут, на который уже накатываются последующие апдейты, дается только за деньги, а демо - оно и в Африке демо. Допустим, разберетесь чего там не хватает или что заблокировано, и какая польза от этого действа? Ведь исходник в любом случае уже устарел на несколько лет, поскольку апдейты выходят достаточно часто.




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

Создано: 18 июня 2015 12:09
· Личное сообщение · #6

VodoleY пишет:
НО там все рисовалось на базовый комонент, как следствие у компонента есть метод сейв ту файл.. вся задача найти его в ВМТ и заинжектить 10 строк кода куданибудь


Примерно так я и планировал. Там все через gdi32 рисуется, вцепить уже готовый битмап в прицепе не сложно...

GMAP пишет:
Допустим, разберетесь чего там не хватает или что заблокировано, и какая польза от этого действа?


Практической - никакой, ну а так чудок опыта поднабрать и интересно провести время ☺☺☺

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




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

Создано: 18 июня 2015 12:12
· Личное сообщение · #7

KingSise пишет:
вцепить уже готовый битмап в прицепе не сложно...

DC подменить и привет)

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





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

Создано: 18 июня 2015 16:48
· Личное сообщение · #8

VodoleY пишет:
DC подменить и привет)


Или кнопочку вот эту нажать:


Если тут 00641604 00 00 00 00 выше двойки ничего не ставить, ну или вообще не трогать, то будет сообщение об успешном копирование в буфер обмена, иначе вообще никаких диалогов, включая о том, что что то отключено. Странно конечно, что эту фичу не заблочили, бо все отлично печатается и в нужном масштабе...

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




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

Создано: 18 июня 2015 22:46 · Поправил: dosprog
· Личное сообщение · #9

Хм. А почему не скачать в дополнение к этому демо ещё и апдейт ? - в нём ведь работает нормально сохранение.
Ну, разве что пару байт подправить - делов-то..

Хотя и ничего не имею против ковыряния демки - раз интересно.


--Добавлено--

Но Автор же специально выложил апдейт, чтоб не надо было изгаляться..
Короче,
1) устанавливаем демо-версию
2) устанавливаем поверх неё апдейт
3) запускаем редактор с помощью лоадера
4) .. и типа рисуем всякие схемки..





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

Создано: 19 июня 2015 06:16
· Личное сообщение · #10

KingSise пишет:
Странно конечно, что эту фичу не заблочили

помнится мне.. лет 10 назад вроде.. в демке Компаса такойже косяк разрабов был.. Типа просто печать.. заблочена... а если предварительный просмотр нажимаешь, то с превьюва вполне себе нормально печаталось.. так что не приходится удивляться.. ну забыли)))

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





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

Создано: 19 июня 2015 10:34
· Личное сообщение · #11

dosprog пишет:
Но Автор же специально выложил апдейт, чтоб не надо было изгаляться..


Изгаляться со взломам☺? Мило ;)) Ну в общем все верно, в апдейте другой эезешник, там действительно достаточно один переход подправить...

EXTFUNC.DLL - как я понимаю, после покупки получаешь, потом еще порога пробует вот это найти SPR4766.DAT, причем в каталоге с виндой....

Вообще известно, что за дополнительные функции в этих длл-ках?

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




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

Создано: 19 июня 2015 11:27 · Поправил: dosprog
· Личное сообщение · #12

KingSise пишет:
EXTFUNC.DLL - как я понимаю, после покупки получаешь,


То на самом деле не DLL никакая, а тупо файл данных о регистрации - Имя юзера и т.д.
Нормально работает и без него.





Ранг: 7.5 (гость), 10thx
Активность: 0.010.03
Статус: Участник

Создано: 19 июня 2015 11:59
· Личное сообщение · #13

Лекарство от iOTA для SprLayout6
--> Link <--



Ранг: 35.1 (посетитель), 32thx
Активность: 0.040.01
Статус: Участник

Создано: 19 июня 2015 18:10
· Личное сообщение · #14

KingSise
SPR4766.DAT - файл регистрации с привязкой к системе, создается инсталлером на сидюке, там длинный код, а extfunc.dll поставляется с ретейлом, который первоначально высылается при покупке. Оба варианта с dat и dll почти эквиваленты, но с dll при запуске появляется окно с данными регистрации, а с dat его нет. Других отличий не обнаружено.



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

Создано: 19 июня 2015 20:40 · Поправил: dosprog
· Личное сообщение · #15

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

А на руборде, гляжу, эта тема тщательно разработана - там народ использует самопально русифицированные версии этой софтины.




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


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