![]() |
eXeL@B —› Крэки, обсуждения —› Взломал один компонент,а второй не получается,посмотрите |
Посл.ответ | Сообщение |
|
Создано: 15 октября 2005 02:08 · Личное сообщение · #1 Скачал компонент Дельфи 6 для подсветки синтаксиса (http://www.deepsoftware.ru/nrsxs/nrsxs.zip 1.3 Мб) При компиляции приложения выдает наг.Первый компонент nreditor.dcu я сломал так 1)Бросил на форму этот едитор и откампилировал приложение 2) открыл приложение в олли и поставил бряк MessageBoxA ,запустил и отладчик остановился на бряке 3)Занопил CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA 4) запомнил значение где находится этот MessageBox 5)Запустил приложение -нага нету 6)Открыл в WinHex nreditor.dcu и изменил значения MessageBox на 90(NOP) 7)Перекомпилил компонент и все работает Но есть в наборе втрой компонент nrlistbox.dcu сделал все точно также как и выше-нихрена не работает,приложение не запускается вообще. Надо найти процедуру вывода нага и удалить ее,нужна помощь. Напишите подробно как взламывали. ![]() ----- M&#225 enginn renna undan &#254v&#237 sem honum er skapa&#240 ![]() |
|
Создано: 15 октября 2005 02:27 · Личное сообщение · #2 |
|
Создано: 15 октября 2005 02:36 · Поправил: Z0oMiK · Личное сообщение · #3 Ну вообщем тык ... MsgText - это сообщение Please Register и тд... const Eoln = #13; MsgText = ''You are using the trial version ! Please register !!!' ; MsgCapt = 'Syntax Suite v3.49'; constructor TsxListBox.Create(AOwner: TComponent); {E8 00 00 00 00 } call MessageBox {83 F8 06 } cmp eax, +$06 {75 17 } jnz @@7D --- Тебе это ни о чем не говорит ? посмотрел эти все компоненты nreditor.dcu - 00007AD8 - > 75/90 nrlistbox.dcu - 0000354D -> 75/90 ![]() |
|
Создано: 15 октября 2005 02:58 · Личное сообщение · #4 Zoomik нет не во всех,потому что на форму только 2 первых если кидаешь,выдается сообщение,один я уже взломал ,остался еще один dcu(listbox) а остально ничем не защищено. Короче я нашел процедуру,после которой выдается сразу наг 00453945 FF57 2C CALL DWORD PTR DS:[EDI+2C] Расшифруйте что это значит,я не могу понять. Вот листинг 00453914 $ 55 PUSH EBP 00453915 . 8BEC MOV EBP,ESP 00453917 . 51 PUSH ECX 00453918 . 53 PUSH EBX 00453919 . 56 PUSH ESI 0045391A . 57 PUSH EDI 0045391B . 894D FC MOV DWORD PTR SS:[EBP-4],ECX 0045391E . 8BDA MOV EBX,EDX 00453920 . 8BF0 MOV ESI,EAX 00453922 . 8BC3 MOV EAX,EBX 00453924 FF50 F4 CALL DWORD PTR DS:[EAX-C] 00453927 . 8BD8 MOV EBX,EAX 00453929 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 0045392C . 8918 MOV DWORD PTR DS:[EAX],EBX 0045392E . 33C0 XOR EAX,EAX 00453930 . 55 PUSH EBP 00453931 68 52394500 PUSH Project1.00453952 00453936 . 64:FF30 PUSH DWORD PTR FS:[EAX] 00453939 . 64:8920 MOV DWORD PTR FS:[EAX],ESP 0045393C . 8BCE MOV ECX,ESI 0045393E . 83CA FF OR EDX,FFFFFFFF 00453941 . 8BC3 MOV EAX,EBX 00453943 . 8B38 MOV EDI,DWORD PTR DS:[EAX] 00453945 FF57 2C CALL DWORD PTR DS:[EDI+2C] //НАГГГГГГГГ 00453948 33C0 XOR EAX,EAX 0045394A . 5A POP EDX 0045394B . 59 POP ECX 0045394C . 59 POP ECX 0045394D . 64:8910 MOV DWORD PTR FS:[EAX],EDX 00453950 . EB 16 JMP SHORT Project1.00453968 00453952 .^E9 5100FBFF JMP Project1.004039A8 00453957 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 0045395A . 33D2 XOR EDX,EDX 0045395C . 8910 MOV DWORD PTR DS:[EAX],EDX 0045395E . E8 5903FBFF CALL Project1.00403CBC 00453963 . E8 A803FBFF CALL Project1.00403D10 00453968 > 837E 44 00 CMP DWORD PTR DS:[ESI+44],0 0045396C 75 1D JNZ SHORT Project1.0045398B 0045396E . 8BC3 MOV EAX,EBX 00453970 . 8B15 54984400 MOV EDX,DWORD PTR DS:[449854] ; Project1.004498A0 00453976 . E8 D9FCFAFF CALL Project1.00403654 0045397B . 84C0 TEST AL,AL 0045397D 74 0C JE SHORT Project1.0045398B 0045397F . 8BFB MOV EDI,EBX 00453981 . 8BC7 MOV EAX,EDI 00453983 . E8 EC6EFEFF CALL Project1.0043A874 00453988 . 897E 44 MOV DWORD PTR DS:[ESI+44],EDI 0045398B > 5F POP EDI 0045398C . 5E POP ESI 0045398D . 5B POP EBX 0045398E . 59 POP ECX 0045398F . 5D POP EBP 00453990 . C3 RETN после Retn идет 00458B70 . A1 A89E4500 MOV EAX,DWORD PTR DS:[459EA8] 00458B75 . 8B00 MOV EAX,DWORD PTR DS:[EAX] 00458B77 . E8 18AEFFFF CALL Project1.00453994 //Запускается приложение 00458B7C . E8 C3B5FAFF CALL Project1.00404144 Мысли есть? ![]() ----- M&#225 enginn renna undan &#254v&#237 sem honum er skapa&#240 ![]() |
|
Создано: 15 октября 2005 02:59 · Личное сообщение · #5 |
|
Создано: 15 октября 2005 03:04 · Поправил: Z0oMiK · Личное сообщение · #6 Сообственно на гляди ... constructor TsxListBox.Create(AOwner: TComponent); asm @@0: push ebx @@1: push esi @@2: {constructor start} @@14: mov ebx, edx @@16: mov esi, eax @@18: xor edx, edx @@20: mov eax, esi @@22: call TCustomListBox.Create @@27: mov dl, $01 @@29: mov eax, esi @@31: call TCustomListBox.SetStyle @@36: mov dword ptr [esi+$0289], $00000002 @@46: xor ecx, ecx @@48: mov dl, $01 @@50: mov eax, dword ptr _DOT_TsxPaintAttr @@55: call TsxPaintAttr.Create @@60: mov [esi+$0280], eax @@66: mov edx, $80000005 @@71: mov eax, esi @@73: call TsxListBox.SetColor @@78: push $04 @@80: push offset @@152 @@85: push offset @@172 @@90: push $00 @@92: call MessageBox ----->>>>>> You Using Trial и тд ![]() |
|
Создано: 15 октября 2005 03:08 · Личное сообщение · #7 |
|
Создано: 15 октября 2005 03:09 · Личное сообщение · #8 |
|
Создано: 15 октября 2005 03:20 · Личное сообщение · #9 |
|
Создано: 15 октября 2005 03:27 · Личное сообщение · #10 |
|
Создано: 15 октября 2005 03:31 · Личное сообщение · #11 |
|
Создано: 15 октября 2005 13:31 · Личное сообщение · #12 |
|
Создано: 15 октября 2005 17:19 · Поправил: NaumLeNet · Личное сообщение · #13 |
|
Создано: 15 октября 2005 18:32 · Личное сообщение · #14 |
|
Создано: 15 октября 2005 20:48 · Личное сообщение · #15 di-2: скажу по своему опыту разбора делфовых компонентов, возможно ошибаюсь, т.к. давно не имел с ними дел. в основном они идут в двух файлах: - bpl и dcu. bpl экспортирует пару функций, чтобы IDE делфовый ее прицепил и работал с ней, а также ресурсы - иконки и т.д., представляет из себя обычный PE файл, длл'ка, которая используется на этапе проектирования приложения. А dcu - delphi compiled unit - отъектный файл, из которого, собственно, берется код при линковке екзешника. так вот, если ты хочешь ломать без дополнительных инструментов берешь, дизассемблируешь bpl,для отладки юзаешь пробный екзешник, находишь что нужно патчить и потом выделяешь последовательность байт, которая не оперирует ни с какими переменными, не содержит никаких смещений, открываешь dcu в хиеве и без проблем находишь эту же последовательность байт в нем, патчишь и радуешься жизни и на этапе разработки и при запуске екзешника. ![]() ![]() |
|
Создано: 15 октября 2005 21:10 · Личное сообщение · #16 |
|
Создано: 15 октября 2005 22:40 · Личное сообщение · #17 |
|
Создано: 15 октября 2005 22:44 · Личное сообщение · #18 |
|
Создано: 15 октября 2005 23:11 · Личное сообщение · #19 |
|
Создано: 15 октября 2005 23:20 · Личное сообщение · #20 Блин тебе чего трудно прислать что ли? Оригинал я удаляю затем ,что он заново создается перекомпилированый. То что ты написал nreditor.dcu - 00007AD8 - > 75/90 nrlistbox.dcu - 0000354D -> 75/90 у меня нее катит ,поэтому и прошу крякнутые комоненты ![]() ----- M&#225 enginn renna undan &#254v&#237 sem honum er skapa&#240 ![]() |
|
Создано: 15 октября 2005 23:29 · Личное сообщение · #21 |
|
Создано: 16 октября 2005 17:02 · Личное сообщение · #22 di-2 Качнул я этот компонент. Посмотрел.Ни чего сложного. Почитал редми, вроде бы всё ограничение заключается в месаге. Компилиш проект из папки Demo, грузиш в Ольку и ставиш бряк на MessageBoxA. Запускаеш по Ф9,остановились, смотриш в стеке откуда произошол вызов: CALL to MessageBoxA from sxcustom.00457167 hOwner = NULL Text = " " Title = "Syntax Suite v3.49" Style = MB_YESNO|MB_APPLMODAL Выделяеш сточку "CALL to MessageBoxA from sxcustom.00457167", нажимаеш правую кнопку мышки и выделяеш "Follow in Disassembler" и попадаеш сюда: 00457159___6A 04__________PUSH 4 0045715B___68 C4714500____PUSH sxcustom.004571C4 00457160___68 D8714500____PUSH sxcustom.004571D8 00457165___6A 00___________PUSH 0 00457167___E8 BCF4FAFF____CALL <JMP.&user32.MessageBoxA> 0045716C___83F8 06_________CMP EAX,6 <------------------------------------------ сюда попали 0045716F___75 17___________JNZ SHORT sxcustom.00457188 Здесь процедура вызова месаги. Если, за место PUSH 4 прописать JMP на CMP EAX,6 то месаги не будет. Теперь будем работать с : 1. nreditor.dcu 2. nrlistbox.dcu 3. nrsxsuited7.bpl Открываем nreditor.dcu любым хекс редактором и ищем последовательность байт: 83 F8 06 75 17 <----------- ( CMP EAX,6 ; JNZ SHORT sxcustom.00457188 ) Нашли, чуть выше ищем 6A 04 ( это у нас PUSH 4 ), меняем на EB 11 и всё. С другими файлами поступаем аналогично. Забыл сказать, что всё это было под 7 Дельфой. ![]() |
|
Создано: 16 октября 2005 18:14 · Личное сообщение · #23 |
|
Создано: 16 октября 2005 18:57 · Личное сообщение · #24 |
![]() |
eXeL@B —› Крэки, обсуждения —› Взломал один компонент,а второй не получается,посмотрите |
Эта тема закрыта. Ответы больше не принимаются. |