Сейчас на форуме: Magister Yoda, vasilevradislav (+3 невидимых) |
eXeL@B —› Крэки, обсуждения —› снятия ограничение с демо |
Посл.ответ | Сообщение |
|
Создано: 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 ; Там происходят какие то вычисления, но заканчивается все опять же свитчем с выбором языка... А вот ака должна вести себя процедура "нормально", я пока найти не могу... ----- -=истина где-то рядом=- |
|
Создано: 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 ; -^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- |
|
Создано: 17 июня 2015 16:30 · Личное сообщение · #3 GMAP пишет: Кстати, все софты Абакома ломаются одними и теми же двумя байтами, искать в районе, где ссылка на эту самую extfunc.dll, правится один джамп. Это я уже в принципе понял, ломая другие их программы, но вот с этой были некоторые сомнения ☺. Но тут есть одна интересность, предполагаю что экспорт картинок можно починить, как то у меня получилось при нажатии на экспорт копировать в буфер, но повторить пока не смог... Позже попробую покопать в этом направлении... ----- -=истина где-то рядом=- |
|
Создано: 17 июня 2015 22:51 · Поправил: VodoleY · Личное сообщение · #4 KingSise както очень давно ломал демку на делфи с вырезанным сохранением.. НО там все рисовалось на базовый комонент, как следствие у компонента есть метод сейв ту файл.. вся задача найти его в ВМТ и заинжектить 10 строк кода куданибудь ЗЫ. прогу вашу не смотрел, но может как вариант, натолкнет на идею ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 18 июня 2015 06:26 · Личное сообщение · #5 KingSise Тогда проще сравнить демо и любой апдейт, поскольку ретейловый исходный дистрибут, на который уже накатываются последующие апдейты, дается только за деньги, а демо - оно и в Африке демо. Допустим, разберетесь чего там не хватает или что заблокировано, и какая польза от этого действа? Ведь исходник в любом случае уже устарел на несколько лет, поскольку апдейты выходят достаточно часто. |
|
Создано: 18 июня 2015 12:09 · Личное сообщение · #6 VodoleY пишет: НО там все рисовалось на базовый комонент, как следствие у компонента есть метод сейв ту файл.. вся задача найти его в ВМТ и заинжектить 10 строк кода куданибудь Примерно так я и планировал. Там все через gdi32 рисуется, вцепить уже готовый битмап в прицепе не сложно... GMAP пишет: Допустим, разберетесь чего там не хватает или что заблокировано, и какая польза от этого действа? Практической - никакой, ну а так чудок опыта поднабрать и интересно провести время ☺☺☺ ----- -=истина где-то рядом=- |
|
Создано: 18 июня 2015 12:12 · Личное сообщение · #7 |
|
Создано: 18 июня 2015 16:48 · Личное сообщение · #8 VodoleY пишет: DC подменить и привет) Или кнопочку вот эту нажать: Если тут 00641604 00 00 00 00 выше двойки ничего не ставить, ну или вообще не трогать, то будет сообщение об успешном копирование в буфер обмена, иначе вообще никаких диалогов, включая о том, что что то отключено. Странно конечно, что эту фичу не заблочили, бо все отлично печатается и в нужном масштабе... ----- -=истина где-то рядом=- |
|
Создано: 18 июня 2015 22:46 · Поправил: dosprog · Личное сообщение · #9 Хм. А почему не скачать в дополнение к Ну, разве что пару байт подправить - делов-то.. Хотя и ничего не имею против ковыряния демки - раз интересно. --Добавлено-- Но Автор же специально выложил апдейт, чтоб не надо было изгаляться.. Короче, 1) устанавливаем 2) устанавливаем поверх неё 3) запускаем редактор с помощью 4) .. и типа рисуем всякие схемки.. |
|
Создано: 19 июня 2015 06:16 · Личное сообщение · #10 KingSise пишет: Странно конечно, что эту фичу не заблочили помнится мне.. лет 10 назад вроде.. в демке Компаса такойже косяк разрабов был.. Типа просто печать.. заблочена... а если предварительный просмотр нажимаешь, то с превьюва вполне себе нормально печаталось.. так что не приходится удивляться.. ну забыли))) ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 19 июня 2015 10:34 · Личное сообщение · #11 dosprog пишет: Но Автор же специально выложил апдейт, чтоб не надо было изгаляться.. Изгаляться со взломам☺? Мило ;)) Ну в общем все верно, в апдейте другой эезешник, там действительно достаточно один переход подправить... EXTFUNC.DLL - как я понимаю, после покупки получаешь, потом еще порога пробует вот это найти SPR4766.DAT, причем в каталоге с виндой.... Вообще известно, что за дополнительные функции в этих длл-ках? ----- -=истина где-то рядом=- |
|
Создано: 19 июня 2015 11:27 · Поправил: dosprog · Личное сообщение · #12 |
|
Создано: 19 июня 2015 11:59 · Личное сообщение · #13 |
|
Создано: 19 июня 2015 18:10 · Личное сообщение · #14 KingSise SPR4766.DAT - файл регистрации с привязкой к системе, создается инсталлером на сидюке, там длинный код, а extfunc.dll поставляется с ретейлом, который первоначально высылается при покупке. Оба варианта с dat и dll почти эквиваленты, но с dll при запуске появляется окно с данными регистрации, а с dat его нет. Других отличий не обнаружено. |
|
Создано: 19 июня 2015 20:40 · Поправил: dosprog · Личное сообщение · #15 Вообще, защита сделана очень гуманно, да и вся программа производит хорошее впечатление. Учитывая, что за неё просят около 50$, то можно бы и приобрести, если работать с разводкой плат. А на руборде, гляжу, эта тема тщательно разработана - там народ использует самопально русифицированные версии этой софтины. |
eXeL@B —› Крэки, обсуждения —› снятия ограничение с демо |