ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

03.06.2008, 23:35
|
|
Познающий
Регистрация: 02.06.2008
Сообщений: 59
Провел на форуме: 171210
Репутация:
3
|
|
Читал статью что можно прямо в проге сделать так, чтобы вместо сообщения о неправельном пароле показывался регистрационный код ( сделать типа примитивного кейгена). Знаю что для этого надо сперва найти пароль, я его нащёл. Как что делать дальше? Если можно поподробнее и на примерах, с участием малой части кода программы  . Спасибо!
|
|
|

03.06.2008, 23:45
|
|
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
и будет тебе щястье)) а вообше моски руляд, импровизируй
|
|
|

04.06.2008, 00:04
|
|
Познающий
Регистрация: 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" . Может обьяснишь на примере этого кода.
|
|
|

04.06.2008, 00:11
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
Скинь лудше ссыль на прогу
|
|
|

04.06.2008, 00:34
|
|
Познающий
Регистрация: 02.06.2008
Сообщений: 59
Провел на форуме: 171210
Репутация:
3
|
|
Прога называется 4U WMA MP3 Converter v3.1.5. Сейчас поищу в нете, т.к. брал у приятеля.
|
|
|

04.06.2008, 00:44
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
Лан, завтра гляну, напишу, а щяс спать, время почти 3 ночи)
|
|
|

04.06.2008, 07:55
|
|
Постоянный
Регистрация: 20.08.2006
Сообщений: 327
Провел на форуме: 2472378
Репутация:
1077
|
|
1. Нужно использовать теги CODE
2. Нужно рипать код
3. Для таких кусков нужно либо помечать комментариями важные части, либо использовать pastbin для подсветки синтаксиса
Это можно сделать в любом случае хранится пароль в памяти или нет... правда если он там не хранится придется модифицировать программу во многих местах и добавлять свои функции для преобразованию к ASCII и выводу на экран(это смотря чего не хватает)! Вобщем это очень муторно! Вот если он хранится в памяти, то нет проблем! Просто меняем адрес титла у MessageBoxA на адрес полученного пароля и все... Спрашивается: Че у тя там в кодексе, что ты скинул? А нужно ли тебе это?
|
|
|

04.06.2008, 09:59
|
|
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, + обрезать лишние ресуры, сжать, ну или норм кейген сварить))
|
|
|

04.06.2008, 10:48
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
Можно ли подменить api-функцию LoadLibraryA путем редактирования таблицы импорта и изменению kernel32.dll на мою dll?(без сплайсинга) если можно, то как?
|
|
|

04.06.2008, 10:51
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
Все можно, если осторожно  но проше сплайсингом .. пиши свою kernel32.dll (можно просто переходинки) называй по своему, кидай в папку с прогой и в импорте меняй kernel32.dll на свою .. имхо. И вообше зачем именно так? всегда мона найти более простые способы
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|