![]() |
eXeL@B —› Основной форум —› TreeDBNotes v2.85 |
Посл.ответ | Сообщение |
|
Создано: 26 июля 2006 02:22 · Личное сообщение · #1 Доброго времени суток. У меня возникла проблема, которая не даёт покоя уже 3и сутки.... А именно TreeDBNotes v2.85 которая просит зелёных президентов. Программа представляет собой текстовый редактор и особой ценности не имеет.....но очень хочется поломать - дело принципа. Вот линк: www.mytreedb.com/download/treedb/setup_treedbnotes_pro.exe Вес: 5Мб Требует: серийник, имя Пробовал всё подряд...вот кое-какие результаты: 1) Прога написана на Delphi 6/7; 2) BPX на вызовы GetDlgItemText и т.д. ничего дельного не принесли (много лишнего кода); 3) BPX на hmemcpy так же не прошёл (Win98); 4) Серийник проверяется при запуске, извлекается из реестара: HKEY_CURRENT_USER\Software\SoftArtStudio\TreeDBNotes Pro 2 затем идёт вызов RegQueryValueExA который прописывает RegKey по адресу 017d3d00 5) RegQueryValueExA вызывается ещё 4е раза (RegName, StartDate, RunCounter), а далее - обращение по 017d3d00 и непонятная каша! Очень похоже на шифрование и многократное обращение на проверку номера. Если кому интересно, то посмотрите - подскажите.... ![]() |
|
Создано: 26 июля 2006 02:49 · Поправил: Z0oMiK · Личное сообщение · #2 |
|
Создано: 26 июля 2006 21:00 · Личное сообщение · #3 Насчёт батона и его процедуры (008A38F0, 008A38F0 - соотв.): ---------------------------------------------------------------------- ------------------------------------------- 008A3967 | CALL TreeDBNo.004839CC ; RegName : Controls.TControl.GetText(TControl):TCaption; ........ 008A3972 | CALL TreeDBNo.0040A6CC ; Trunc spaces ........ 008A3984 | CALL TreeDBNo.004839CC ; Serial : Controls.TControl.GetText(TControl):TCaption; ........ 008A398F | CALL TreeDBNo.0040A6CC ; Trunc spaces ........ 008A39A5 | CALL TreeDBNo.0079669C ; PUT IN REGISTRY ........ 008A39AE | CALL TreeDBNo.004A1CA8 ; Forms.TCustomForm.Close(TCustomForm); ---------------------------------------------------------------------- ------------------------------------------- А дальше очистка памяти от наших серийников и имён: ---------------------------------------------------------------------- ------------------------------------------- 008A39C3 | CALL TreeDBNo.00404E78 ; * Reference to: System.@LStrClr(void;void); ........ 008A39CB | CALL TreeDBNo.00404E78 ; * Reference to: System.@LStrClr(void;void); ........ 008A39D3 | CALL TreeDBNo.00404E78 ; * Reference to: System.@LStrClr(void;void); ........ 008A39DB | CALL TreeDBNo.00404E78 ; * Reference to: System.@LStrClr(void;void); ........ 008A39E8 | CALL TreeDBNo.00404E9C ; * Reference to: System.@LStrArrayClr(void;void;Integer); 008A39ED \ RETN ---------------------------------------------------------------------- ------------------------------------------- Интересен вызов CALL TreeDBNo.0079669С ,но дельного там мало: ---------------------------------------------------------------------- ------------------------------------------- 00796710 | CALL TreeDBNo.0044D01C ; Registry.TRegistry.OpenKey ........ 0079671C | PUSH EAX ; /Arg1 0079671D | MOV CL,1 ; | 0079671F | MOV EDX,TreeDBNo.007967B4 ; |ASCII "BRY|}(R" 00796724 | MOV EAX,ESI ; | 00796726 | CALL TreeDBNo.00796324 ; \DUMMY DECODE ........ 00796732 | CALL TreeDBNo.0044D700 ; Registry.TRegistry.WriteString 00796737 | LEA EAX,[LOCAL.4] 0079673A | PUSH EAX ; /Arg1 0079673B | MOV CL,1 ; | 0079673D | MOV EDX,TreeDBNo.007967C4 ; |ASCII "BRY&-LR" 00796742 | MOV EAX,ESI ; | 00796744 | CALL TreeDBNo.00796324 ; \DUMMY DECODE ........ 00796751 | CALL TreeDBNo.0044D700 ; Registry.TRegistry.WriteString 00796756 | MOV EAX,EBX 00796758 | CALL TreeDBNo.0044CEA8 ; Registry.TRegistry.CloseKey(TRegistry); ---------------------------------------------------------------------- ------------------------------------------- Два вызова 00796324 - не понятная фейка, им передаются строки "BRY|}(R", "BRY&-LR" в регистре EDX, на что фу-ции возвращают "RegKey", "RegName" в этом же регистре... Фишка в том, что этот вызов встречается довольно часто при обращении к реестру...очень странно. После записи в реестр - фейковый ProgreesBar и TMessageBox - перезагружай прогу! Так что проверка явно происходит при загрузке. Пока наткнулся на интересный вызов 008B80F1: ---------------------------------------------------------------------- ------------------------------------------- 00795698 | MOV EAX,ESI 0079569A | CALL TreeDBNo.00795FF0 ; GET from Registry NAME, KEY, DATE, COUNTER 0079569F | MOV EAX,ESI 007956A1 | CALL TreeDBNo.00795CAC ; Get something another... 007956A6 | MOV EAX,ESI 007956A8 | CALL TreeDBNo.0079583C ; POINT OF INTEREST ........ 007956B3 | CALL TreeDBNo.004043E4 ; System.@AfterConstruction ........ 007956C6 \ RETN ---------------------------------------------------------------------- ------------------------------------------- Пробовол копать CALL 0079583C ; POINT OF INTEREST - пока безуспешно... Жду советов и предложений, если есть у кого... ![]() ![]() |
|
Создано: 27 июля 2006 02:02 · Поправил: sexxan · Личное сообщение · #4 Хм... Удалось найти решение, но суть осталась загадкой! ![]() Вообщем, берём версию 2.6 и Crack от tsrh ищем патченые байты (можно по сравнению или по коду crack'а), вспоминаем где мы это видели....точно в версии 2.85 !!! Идём в отладчик и пробуем: Address | Size | Old | New | Comment 0044D01C | 3 | 33 C0 C3 | 55 8B EC | PATCH 1 - REMOVE CHECK OF COUNTS 007585E7 | 6 | 90 E9 | 0F 84 | PATCH 8 - KILL NAG 007957AE | 2 | 00 | 1F | PATCH 2 - "REGISTERED VERSION" 007957F8 | 2 | 00 | 20 | PATCH 3 - REMOVE BRACKETS FROM TITLEBAR 008C0650 | 2 | EB | 75 | PATCH 7 - KILL NAG По первым впечатлениям всё работает без проблем...но пока серийник не найден, да и патч остался загадкой. ![]() ![]() |
|
Создано: 27 июля 2006 09:11 · Личное сообщение · #5 |
|
Создано: 27 июля 2006 15:20 · Личное сообщение · #6 |
![]() |
eXeL@B —› Основной форум —› TreeDBNotes v2.85 |