HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > Реверсинг
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #71  
Старый 03.06.2008, 23:35
tekton
Познающий
Регистрация: 02.06.2008
Сообщений: 59
Провел на форуме:
171210

Репутация: 3
По умолчанию

Читал статью что можно прямо в проге сделать так, чтобы вместо сообщения о неправельном пароле показывался регистрационный код ( сделать типа примитивного кейгена). Знаю что для этого надо сперва найти пароль, я его нащёл. Как что делать дальше? Если можно поподробнее и на примерах, с участием малой части кода программы . Спасибо!
 
Ответить с цитированием

  #72  
Старый 03.06.2008, 23:45
BlackSun
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме:
10046345

Репутация: 4589


По умолчанию

Цитата:
Сообщение от tekton  
Читал статью что можно прямо в проге сделать так, чтобы вместо сообщения о неправельном пароле показывался регистрационный код ( сделать типа примитивного кейгена). Знаю что для этого надо сперва найти пароль, я его нащёл. Как что делать дальше? Если можно поподробнее и на примерах, с участием малой части кода программы . Спасибо!
Ну если готовый пароль хранится в памяти .. допустим у тебя есть

push hWnd
push Title
push Text
push Type
call MessageBoxA

Где Text - текст, о неверном пароле
и

push TruePass
..
и дальше функция проверки

ты в мессадж боксе о неверном пароле смени

push Text
на
push TruePass

и будет тебе щястье)) а вообше моски руляд, импровизируй
 
Ответить с цитированием

  #73  
Старый 04.06.2008, 00:04
tekton
Познающий
Регистрация: 02.06.2008
Сообщений: 59
Провел на форуме:
171210

Репутация: 3
По умолчанию

BlackSun спасибо. Вот код. (Прога написана на делфи)

0048DA8C /$ 55 PUSH EBP
0048DA8D |. 8BEC MOV EBP,ESP
0048DA8F |. 6A 00 PUSH 0
0048DA91 |. 6A 00 PUSH 0
0048DA93 |. 6A 00 PUSH 0
0048DA95 |. 6A 00 PUSH 0
0048DA97 |. 6A 00 PUSH 0
0048DA99 |. 53 PUSH EBX
0048DA9A |. 56 PUSH ESI
0048DA9B |. 894D F8 MOV DWORD PTR SS:[EBP-8],ECX
0048DA9E |. 8955 FC MOV DWORD PTR SS:[EBP-4],EDX
0048DAA1 |. 8BF0 MOV ESI,EAX
0048DAA3 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0048DAA6 |. E8 D570F7FF CALL КЕЙ_ГЕН.00404B80
0048DAAB |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
0048DAAE |. E8 CD70F7FF CALL КЕЙ_ГЕН.00404B80
0048DAB3 |. 33C0 XOR EAX,EAX
0048DAB5 |. 55 PUSH EBP
0048DAB6 |. 68 86DB4800 PUSH КЕЙ_ГЕН.0048DB86
0048DABB |. 64:FF30 PUSH DWORD PTR FS:[EAX]
0048DABE |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
0048DAC1 |. 33DB XOR EBX,EBX
0048DAC3 |. BA A0DB4800 MOV EDX,КЕЙ_ГЕН.0048DBA0 ; ASCII "Megido,share.homedns.org,www.appzplanet.com"
0048DAC8 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0048DACB |. E8 0472F7FF CALL КЕЙ_ГЕН.00404CD4
0048DAD0 |. 85C0 TEST EAX,EAX
0048DAD2 |. 7E 0B JLE SHORT КЕЙ_ГЕН.0048DADF
0048DAD4 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
0048DAD7 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0048DADA |. E8 996CF7FF CALL КЕЙ_ГЕН.00404778
0048DADF |> 8D4D F4 LEA ECX,DWORD PTR SS:[EBP-C]
0048DAE2 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0048DAE5 |. 8BC6 MOV EAX,ESI
0048DAE7 |. E8 60010000 CALL КЕЙ_ГЕН.0048DC4C
0048DAEC |. 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C]
0048DAEF |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
0048DAF2 |. E8 ADAFF7FF CALL КЕЙ_ГЕН.00408AA4
0048DAF7 |. 85C0 TEST EAX,EAX
0048DAF9 |. 75 41 JNZ SHORT КЕЙ_ГЕН.0048DB3C
0048DAFB |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0048DAFE |. 8BC6 MOV EAX,ESI
0048DB00 |. E8 9FF3FFFF CALL КЕЙ_ГЕН.0048CEA4
0048DB05 |. 84C0 TEST AL,AL
0048DB07 |. 74 62 JE SHORT КЕЙ_ГЕН.0048DB6B
0048DB09 |. B3 01 MOV BL,1
0048DB0B |. 6A 40 PUSH 40
0048DB0D |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
0048DB10 |. A1 E4EF4B00 MOV EAX,DWORD PTR DS:[4BEFE4]
0048DB15 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
0048DB17 |. E8 DC96FDFF CALL КЕЙ_ГЕН.004671F8
0048DB1C |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
0048DB1F |. E8 6C70F7FF CALL КЕЙ_ГЕН.00404B90
0048DB24 |. 50 PUSH EAX ; |Title
0048DB25 |. 68 CCDB4800 PUSH КЕЙ_ГЕН.0048DBCC ; |Text = "Registration success, Thanks for your registration."
0048DB2A |. A1 E4EF4B00 MOV EAX,DWORD PTR DS:[4BEFE4] ; |
0048DB2F |. 8B00 MOV EAX,DWORD PTR DS:[EAX] ; |
0048DB31 |. 8B40 30 MOV EAX,DWORD PTR DS:[EAX+30] ; |
0048DB34 |. 50 PUSH EAX ; |hOwner
0048DB35 |. E8 1E9BF7FF CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA
0048DB3A |. EB 2F JMP SHORT КЕЙ_ГЕН.0048DB6B
0048DB3C |> 6A 10 PUSH 10
0048DB3E |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
0048DB41 |. A1 E4EF4B00 MOV EAX,DWORD PTR DS:[4BEFE4]
0048DB46 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
0048DB48 |. E8 AB96FDFF CALL КЕЙ_ГЕН.004671F8
0048DB4D |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
0048DB50 |. E8 3B70F7FF CALL КЕЙ_ГЕН.00404B90
0048DB55 |. 50 PUSH EAX ; |Title
0048DB56 |. 68 00DC4800 PUSH КЕЙ_ГЕН.0048DC00 ; |Text = "Invalid Registration Code!
Please enter an available Registration Code."
0048DB5B |. A1 E4EF4B00 MOV EAX,DWORD PTR DS:[4BEFE4] ; |
0048DB60 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] ; |
0048DB62 |. 8B40 30 MOV EAX,DWORD PTR DS:[EAX+30] ; |
0048DB65 |. 50 PUSH EAX ; |hOwner = 0007061C ('¦+г ++=',class='TApplication')
0048DB66 |. E8 ED9AF7FF CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA

Куда ни пишу, OLLY пишет: "Extra input after operand" . Может обьяснишь на примере этого кода.
 
Ответить с цитированием

  #74  
Старый 04.06.2008, 00:11
BlackSun
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме:
10046345

Репутация: 4589


По умолчанию

Скинь лудше ссыль на прогу
 
Ответить с цитированием

  #75  
Старый 04.06.2008, 00:34
tekton
Познающий
Регистрация: 02.06.2008
Сообщений: 59
Провел на форуме:
171210

Репутация: 3
По умолчанию

Прога называется 4U WMA MP3 Converter v3.1.5. Сейчас поищу в нете, т.к. брал у приятеля.
 
Ответить с цитированием

  #76  
Старый 04.06.2008, 00:44
BlackSun
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме:
10046345

Репутация: 4589


По умолчанию

Лан, завтра гляну, напишу, а щяс спать, время почти 3 ночи)
 
Ответить с цитированием

  #77  
Старый 04.06.2008, 07:55
taha
Постоянный
Регистрация: 20.08.2006
Сообщений: 327
Провел на форуме:
2472378

Репутация: 1077
По умолчанию

1. Нужно использовать теги CODE
2. Нужно рипать код
3. Для таких кусков нужно либо помечать комментариями важные части, либо использовать pastbin для подсветки синтаксиса

Это можно сделать в любом случае хранится пароль в памяти или нет... правда если он там не хранится придется модифицировать программу во многих местах и добавлять свои функции для преобразованию к ASCII и выводу на экран(это смотря чего не хватает)! Вобщем это очень муторно! Вот если он хранится в памяти, то нет проблем! Просто меняем адрес титла у MessageBoxA на адрес полученного пароля и все... Спрашивается: Че у тя там в кодексе, что ты скинул? А нужно ли тебе это?
 
Ответить с цитированием

  #78  
Старый 04.06.2008, 09:59
BlackSun
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме:
10046345

Репутация: 4589


По умолчанию

На примере 4U WMA MP3 Audio Converter v5.6.0 (другую версию не нашел, слить мона с http://thepiratebay.org/ ) и с помошью дебагера OllyDbg (или просто Оля)

По адрессу 0048D458 - процедура проверки введенного пароля
По адрессу 0048D4B8 видим MOV EDX,DWORD PTR SS:[EBP-C] - наш труЪ пароль
По адрессу 0048D4D6 видим условие, если пароль не подходит - прыгаем на <bad_msg>
<bad_msg> - валяется по адрессу 0048D50B
По адрессу 0048D525 push <bad_registration code>
Меняем на
PUSH DWORD PTR SS:[EBP-C]
nop
nop

Затем Copy to executable -> All modifications -> Копировать все -> Save file -> keygen.exe

Все, кейген из проги готов вводишь свое имя, любой пароль, жмешь register, получаешь пароль ..

Name: BlackSun
Code: 0E031-959CA-29DD3-3A0E3-03195

Happy End =)

PS: каг домашнее задание тебе - сделать, чтобы код показывался не в MessageBox'е, а в Edit, + обрезать лишние ресуры, сжать, ну или норм кейген сварить))
 
Ответить с цитированием

  #79  
Старый 04.06.2008, 10:48
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

Можно ли подменить api-функцию LoadLibraryA путем редактирования таблицы импорта и изменению kernel32.dll на мою dll?(без сплайсинга) если можно, то как?
 
Ответить с цитированием

  #80  
Старый 04.06.2008, 10:51
BlackSun
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме:
10046345

Репутация: 4589


По умолчанию

Все можно, если осторожно но проше сплайсингом .. пиши свою kernel32.dll (можно просто переходинки) называй по своему, кидай в папку с прогой и в импорте меняй kernel32.dll на свою .. имхо. И вообше зачем именно так? всегда мона найти более простые способы
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ