![]() |
eXeL@B —› Вопросы новичков —› Самый продвинутый DBGrid в Delphi... |
Посл.ответ | Сообщение |
|
Создано: 29 ноября 2007 18:17 · Личное сообщение · #1 Недавно решил написать на Delphi, программку редактор DBF-файлов (таблиц), чтобы можно было открывать, редактировать поля, сортировать, искать по полю, и сохранять в том же DBF формате, не изменяя структуру DBF. В интернете наткнулся на продвинутый компонент DBGridEh _http://www.ehlib.com/ehlibeva.exe , который выполняет расширенные функции в отличии от стандартного компонента DBGrid. Установил библиотеку компонента, все нормально, создал небольшую программку, но библиотека то платная, в Delphi после компиляции запускается нормально, но выйдся из Delphi, программа уже не работает (выскакивает Message, с содержанием This evalution copy of EHLib only works while Delphi is runing. Please contact author of EHlib to order a full version. ) Из сообщения ясно, что программа работает только при Delphi, и нужно сязаться с автором для заказа полной версии... которая стоит Ehlib без исходника $79 , и с исходником $129. Жалко денег стало, и я пошел другим путем: 1) Имея уровень 0-1 в кряке , я решил обойти защиту автора... Я открыл скомпилированную прогу, она же находится здесь _http://xfen.narod.ru/chm/Project1.rar с помощью Олли, нашел строку сравнения по адресу: 460CB5 CMP BYTE PTR DS:[EAX+9C],0 , затем 0 поменял на 1, выскочило опять Message, я нажал OK и прога запустилась, все таблицы с помощью нее открываются, кароче в полной функциональности используется компонент DBGridEh, НО..... выйти из программы не получается обычным методом, только через taskkill.... Подскажите как дальше быть, я в этом деле новичек. ![]() |
|
Создано: 29 ноября 2007 18:34 · Личное сообщение · #2 |
|
Создано: 29 ноября 2007 21:37 · Поправил: KingSise · Личное сообщение · #3 Или можешь еще проще сделать... В заголовке она напиши Delphi, защита будет думать что делфи работает ![]() Можно вот так сделать: Было: /*418694*/ PUSH EBP /*418695*/ MOV EBP, ESP /*418697*/ ADD ESP, -0C стало: /*418694*/ XOR AL, AL /*418696*/ INC AL /*418698*/ RETN /*418699*/ NOP ----- -=истина где-то рядом=- ![]() |
|
Создано: 29 ноября 2007 21:52 · Поправил: KingSise · Личное сообщение · #4 |
|
Создано: 29 ноября 2007 21:55 · Личное сообщение · #5 не аттачиццо... Попытка номер 2 ![]() ----- -=истина где-то рядом=- ![]() |
|
Создано: 30 ноября 2007 13:07 · Личное сообщение · #6 Или можешь еще проще сделать... В заголовке она напиши Delphi, защита будет думать что делфи работает Можно вот так сделать: Было: /*418694*/ PUSH EBP /*418695*/ MOV EBP, ESP /*418697*/ ADD ESP, -0C стало: /*418694*/ XOR AL, AL /*418696*/ INC AL /*418698*/ RETN /*418699*/ NOP KingSise, Попробывал заголовок формы поменять на Delphi,Delphi 6 ... не запускается..заменил команды по тем адресам что дал.. после этого появляется только чистая форма... Из атача понял немного, комментарии к веткам условия описал бы, если можно. Но спасибо что подсказали с findwindow, сейчас просматриваю их. И можно вопрос почему только findwindow, может еще к чему то привязывается? ![]() |
|
Создано: 30 ноября 2007 13:13 · Поправил: Maximus · Личное сообщение · #7 |
|
Создано: 30 ноября 2007 16:18 · Поправил: KingSise · Личное сообщение · #8 |
|
Создано: 30 ноября 2007 18:34 · Личное сообщение · #9 |
|
Создано: 01 декабря 2007 03:27 · Личное сообщение · #10 Вобщем я пока не разобрался где патчить, но если твой вариан работает (00460A3E MOV BYTE PTR DS:[ESI+9C], 1 меняем на MOV BYTE PTR DS:[ESI+9C], 0) коректно, но остаются проблеммы с закрытием приложения, то можно как временный вариан закрывать программу таким способом: 004FC1C8 MOV EAX, DWORD PTR DS:[500E7C] - событие при нажатии на кнопку "закрыть" заменяем на 004FC1C8 JMP 00404411 т.е. на 00404411 |. 50 |PUSH EAX ; /ExitCode 00404412 |. E8 0DCFFFFF |CALL 00401324 ; \ExitProcess Но это опять же временное решение, как скачаеццо делфи 2007 буду смотреть, как не через ![]() ----- -=истина где-то рядом=- ![]() |
|
Создано: 01 декабря 2007 11:04 · Личное сообщение · #11 |
|
Создано: 01 декабря 2007 16:20 · Личное сообщение · #12 fen пишет: расскажи последовательность твоих действий в отладчике, если не трудно. Я и не в отладчике смотрел... Оскрой любым декомпилятором. 1-й DeDE: rapidshare.com/files/66761369/dede_3.50.04.zip" target="_blank">--> Link 1<--, --> Link 2<-- http://rapidshare.com/files/67411922/delphi_decompiler.rar 2-й De Dec: ----- -=истина где-то рядом=- ![]() |
|
Создано: 02 декабря 2007 00:27 · Личное сообщение · #13 |
|
Создано: 03 декабря 2007 14:32 · Личное сообщение · #14 |
|
Создано: 03 декабря 2007 16:47 · Личное сообщение · #15 |
|
Создано: 03 декабря 2007 16:51 · Личное сообщение · #16 |
|
Создано: 05 декабря 2007 08:30 · Личное сообщение · #17 KingSise пишет: ты б лучше сказал где патчить... Берем DBGridEh.dcu из папки Delphi7 и патчим по офсетам 03D5D5 26h => 00h 03D5FB 75h => EBh Сам не компилил, но думаю будет работать Есть статья по компонентам http://www.exelab.ru/art/?action=view&id=297 ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Самый продвинутый DBGrid в Delphi... |