![]() |
eXeL@B —› Вопросы новичков —› Какие ещё API-функции считывают текст из TextBox'a кроме GetWindowText и GetDlgItemText ? |
Посл.ответ | Сообщение |
|
Создано: 24 октября 2007 01:48 · Личное сообщение · #1 Так как являюсь полнейшим новичком решил найти лёгкую программу для проб. Всё стандартно, окошко: введите логин, серийник. Ввожу не верно, появляется МессажБокс, на который срабатывает Olly, однако найти где там находится сравнивание паролей никак не удаётся. Вот кстати его код: 004A2C61 |. 50 PUSH EAX ; /pRect 004A2C62 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; | 004A2C65 |. 8B40 30 MOV EAX,DWORD PTR DS:[EAX+30] ; | 004A2C68 |. 50 PUSH EAX ; |hWnd 004A2C69 |. E8 AAC90700 CALL <JMP.&USER32.GetWindowRect> ; \GetWindowRect 004A2C6E |. 6A 1D PUSH 1D 004A2C70 |. 6A 00 PUSH 0 004A2C72 |. 6A 00 PUSH 0 004A2C74 |. 8B4D CC MOV ECX,DWORD PTR SS:[EBP-34] 004A2C77 |. 8B55 C4 MOV EDX,DWORD PTR SS:[EBP-3C] 004A2C7A |. 2BCA SUB ECX,EDX 004A2C7C |. D1F9 SAR ECX,1 004A2C7E |. 79 03 JNS SHORT Electric.004A2C83 004A2C80 |. 83D1 00 ADC ECX,0 004A2C83 |> 03CA ADD ECX,EDX 004A2C85 |. 51 PUSH ECX 004A2C86 |. 8B55 C8 MOV EDX,DWORD PTR SS:[EBP-38] 004A2C89 |. 8B45 C0 MOV EAX,DWORD PTR SS:[EBP-40] 004A2C8C |. 2BD0 SUB EDX,EAX 004A2C8E |. D1FA SAR EDX,1 004A2C90 |. 79 03 JNS SHORT Electric.004A2C95 004A2C92 |. 83D2 00 ADC EDX,0 004A2C95 |> 03D0 ADD EDX,EAX ; | 004A2C97 |. 52 PUSH EDX ; |X 004A2C98 |. 6A 00 PUSH 0 ; |InsertAfter = HWND_TOP 004A2C9A |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; | 004A2C9D |. 8B40 30 MOV EAX,DWORD PTR DS:[EAX+30] ; | 004A2CA0 |. 50 PUSH EAX ; |hWnd 004A2CA1 |. E8 FECA0700 CALL <JMP.&USER32.SetWindowPos> ; \SetWindowPos 004A2CA6 |> 33C0 XOR EAX,EAX 004A2CA8 |. E8 476AFFFF CALL Electric.004996F4 004A2CAD |. 8945 F0 MOV DWORD PTR SS:[EBP-10],EAX 004A2CB0 |. E8 5B69FFFF CALL Electric.00499610 004A2CB5 |. 8945 E4 MOV DWORD PTR SS:[EBP-1C],EAX 004A2CB8 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 004A2CBB |. E8 78EEFFFF CALL Electric.004A1B38 004A2CC0 |. 84C0 TEST AL,AL 004A2CC2 |. 74 06 JE SHORT Electric.004A2CCA 004A2CC4 |. 81CB 00001000 OR EBX,100000 004A2CCA |> 33C9 XOR ECX,ECX 004A2CCC |. 55 PUSH EBP 004A2CCD |. 68 512D4A00 PUSH Electric.004A2D51 004A2CD2 |. 64:FF31 PUSH DWORD PTR FS:[ECX] 004A2CD5 |. 64:8921 MOV DWORD PTR FS:[ECX],ESP 004A2CD8 |. 53 PUSH EBX ; /Style 004A2CD9 |. 57 PUSH EDI ; |Title 004A2CDA |. 56 PUSH ESI ; |Text 004A2CDB |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; | 004A2CDE |. 8B40 30 MOV EAX,DWORD PTR DS:[EAX+30] ; | 004A2CE1 |. 50 PUSH EAX ; |hOwner 004A2CE2 |. E8 D3C90700 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA Позже ввожу пароль, запоминаю его. Ставлю бряк на область памяти в котором он находится. Но после того как окно перерисовывается пароль постоянно считывается из памяти и переходит глубоко в системные функции Виндовса, его трассировка и отладка становится не возможной (хотя может и возможной просто руки кривые ещё). Поэтому решил поставить бряк на вызов функции считывания пароля из ТекстБокса, но из этих: GetWindowText, GetWindowTextA, GetWindowTextW GetDlgItemText, GetDlgItemTextA, GetDlgItemTextW Ни одна не сработала. Какие ещё бывают функции? ![]() |
|
Создано: 24 октября 2007 09:25 · Личное сообщение · #2 |
|
Создано: 24 октября 2007 09:41 · Личное сообщение · #3 |
|
Создано: 24 октября 2007 14:12 · Личное сообщение · #4 |
|
Создано: 24 октября 2007 22:39 · Личное сообщение · #5 |
|
Создано: 24 октября 2007 22:44 · Личное сообщение · #6 |
|
Создано: 24 октября 2007 23:54 · Личное сообщение · #7 |
|
Создано: 25 октября 2007 00:19 · Личное сообщение · #8 |
|
Создано: 25 октября 2007 07:45 · Поправил: crc1 · Личное сообщение · #9 sniperZ пишет: аффтар кидай прогу.. Афтар видать забил ![]() Но лично для sniperZ сцылка http://www.linasoft.com/files/apmbld53.zip http://www.linasoft.com/files/apmbld53.zip 2.6 Mb (это не прога афтара, а первое что вспомнил) Очень знакомый код. И где там проверка сернама? Такие куски кода нада визуально помнить ![]() |
|
Создано: 25 октября 2007 08:01 · Личное сообщение · #10 |
|
Создано: 25 октября 2007 09:17 · Личное сообщение · #11 sniperZ пишет: гм, это не мессажд, это 100% проверка сернама... Зашибись.... 004A2CBB |. E8 78EEFFFF CALL Electric.004A1B38 004A2CC0 |. 84C0 TEST AL,AL 004A2CC2 |. 74 06 JE SHORT Electric.004A2CCA 004A2CC4 |. 81CB 00001000 OR EBX,100000 004A2CCA |> 33C9 XOR ECX,ECX 004A2CCC |. 55 PUSH EBP т.е. ты хочешь сказать что если проверка сер. номера в функе CALL Electric.004A1B38 , то если он верный мы перепрыгнем 1 инструкцию OR EBX,100000 и выдаст нам мессадж что "Ура! мы зарегины" ЛОЛ ![]() |
|
Создано: 25 октября 2007 10:57 · Поправил: f3DDoS · Личное сообщение · #12 Прошу прощения что не отвечал... работал и пытался всё же сам что-нибудь выудить. Третью ночь с дизассемблером. Всю голову сломал. Но не сдаюсь... (15 дней же есть!). Публикую ссылку на программу: http://narod.yandex.ru/100.xhtml?electrodesigning.narod.ru/Electric11. rar http://narod.yandex.ru/100.xhtml?electrodesigning.narod.ru/Electric11.rar ![]() |
|
Создано: 25 октября 2007 16:40 · Личное сообщение · #13 f3DDoS пишет: narod.yandex.ru/100.xhtml?electrodesigning.narod.ru/Electric11. rar Вот тут проверка серийника 0040C355 CALL 005015A0
На автор проги хитрый ![]() Из хелпа: 2) Оплатить регистрацию программы После выполнения этой процедуры вы получите по электронной почте регистрационный файл и код регистрации. Т.ч. без Electricdll11.dll прогу хрен зарегишь, но думаю можно запатчить. ![]() |
|
Создано: 25 октября 2007 23:26 · Поправил: f3DDoS · Личное сообщение · #14 Спасибо всем за исследования! Надо будет посмотреть что там есть... Если не трудно объясните пожалуйста : 2crc1: 1. Как вы дошли до этого кода? По трассировке до ret после MessageBoxA или как-то ещё? 2. Т.е. длл-ка нужна только для того, чтобы в EAX перед 0040C367 CMP DWORD PTR SS:[EBP-54], 0 был ноль? Соответственно если изменить переход JE на другой (пропатчить) то можно забы(и)ть про регистрацию? ![]() |
|
Создано: 26 октября 2007 08:48 · Личное сообщение · #15 f3DDoS 1. По моему уже все разжевано. От MessageBoxA трассируй через реты пока выше не увидишь сообщения об удачной/неудачной регистрации (в OllyDbg эти строки хорошо видны). 2. ИМХО ты плохо знаком с программированием в том числе низкоуровневым. Почитай статей, начни с простых крякмисов. На сегодня тебе эту прогу не победить. Если она тебе сильно нужна, обратись в запросы на взлом, возможно там помогут. ЗЫ В программе есть еще ограничение на максимальную мощность не больше 2 Квт, может еще чего ![]() |
|
Создано: 26 октября 2007 09:32 · Личное сообщение · #16 f3DDoS Можно не патчить, а сделать dll, например так library Electricdll11;
И регаться с любым кодом. Возможно этого будет достаточно. ![]() |
|
Создано: 27 октября 2007 01:29 · Личное сообщение · #17 Да нет. Она мне не сильно нужна. Просто это первый опыт как раз исследования. Спасибо за советы! Вы мне очень сильно подсобили. Будем дальше разбираться. Надо ассемблер почитать. Нашёл я по рет-ам всё что вы показывали. Так же надо будет поучиться всё же находить по коду строки, функции регистрации... но это я думаю должно прийти с опытом. Всем спасибо ещё раз! =) Будем учиться. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Какие ещё API-функции считывают текст из TextBox'a кроме GetWindowText и GetDlgItemText ? |