![]() |
eXeL@B —› Вопросы новичков —› Нужна помощь со взломом mIRC 6.35 |
Посл.ответ | Сообщение |
|
Создано: 23 октября 2008 15:14 · Поправил: SemDJ · Личное сообщение · #1 Вообщем такая проблема защита в проге простая серийник в открытом виде Name: SemDJ Serial: 1192-111724 Проходит регистрация, а потом лезет в инет и проверяет на валидность, я правлю на джампы места где проходит проверка в инете, все нормально проходит регистрация, вношу изминения в файл, сохраняю. Потом запускаю, а прога не работает, тупо вылетает. Я думаю что где-то проходит проверка на целосность файла, но не могу найти где. Нужна ваша помощь, заранее спасибо. 004E7FDE . E8 FDB2F3FF CALL mirc.004232E0 004E7FE3 . A1 4C016700 MOV EAX,DWORD PTR DS:[67014C] ; | 004E7FE8 . 50 PUSH EAX ; |Arg2 => 0000000C 004E7FE9 . 8D4C24 1C LEA ECX,DWORD PTR SS:[ESP+1C] ; | 004E7FED . 51 PUSH ECX ; |Arg1 004E7FEE . E8 9DE5F3FF CALL mirc.00426590 ; \mirc.00426590 004E7FF3 . 83C4 10 ADD ESP,10 004E7FF6 3BC5 CMP EAX,EBP 004E7FF8 E9 A7000000 JMP mirc.004E80A4 ; Правлю на JMP, обхожу проверку через инет 004E7FFD 90 NOP 004E7FFE 8D4424 10 LEA EAX,DWORD PTR SS:[ESP+10] 004E8002 8D50 01 LEA EDX,DWORD PTR DS:[EAX+1] 004E8005 8A08 MOV CL,BYTE PTR DS:[EAX] 004E8007 40 INC EAX 004E8008 3ACB CMP CL,BL 004E800A ^ 75 F9 JNZ SHORT mirc.004E8005 004E800C 2BC2 SUB EAX,EDX 004E800E 68 58016700 PUSH mirc.00670158 ; ASCII "8dEd92758c4a26F3243362dD5f62CFC60CDf3f0432528604" 004E8013 8D5404 14 LEA EDX,DWORD PTR SS:[ESP+EAX+14] 004E8017 68 58B55F00 PUSH mirc.005FB558 ; ASCII "?code=%s" 004E801C 52 PUSH EDX 004E801D E8 07190F00 CALL mirc.005D9929 004E8022 A1 C4366700 MOV EAX,DWORD PTR DS:[6736C4] 004E8027 83C4 0C ADD ESP,0C 004E802A 3BC3 CMP EAX,EBX 004E802C 74 09 JE SHORT mirc.004E8037 004E802E 50 PUSH EAX 004E802F E8 6F1F0F00 CALL mirc.005D9FA3 004E8034 83C4 04 ADD ESP,4 004E8037 33C0 XOR EAX,EAX 004E8039 B9 2F030000 MOV ECX,32F 004E803E BF 90326700 MOV EDI,mirc.00673290 ; ASCII "http://www.mirc.co.uk/cgi-bin/regcheck.cgi?code=6F7f33C847c04d987Aac4 bC7567c58230cdF3F0432528604" 004E8043 F3:AB REP STOS DWORD PTR ES:[EDI] 004E8045 8D4424 10 LEA EAX,DWORD PTR SS:[ESP+10] 004E8049 50 PUSH EAX 004E804A 68 32040000 PUSH 432 004E804F 68 90326700 PUSH mirc.00673290 ; ASCII "http://www.mirc.co.uk/cgi-bin/regcheck.cgi?code=6F7f33C847c04d987Aac4 bC7567c58230cdF3F0432528604" 004E8054 E8 F7D4F3FF CALL mirc.00425550 004E8059 68 90326700 PUSH mirc.00673290 ; ASCII "http://www.mirc.co.uk/cgi-bin/regcheck.cgi?code=6F7f33C847c04d987Aac4 bC7567c58230cdF3F0432528604" 004E805E 892D CC366700 MOV DWORD PTR DS:[6736CC],EBP 004E8064 E8 F74BFCFF CALL mirc.004ACC60 004E8069 83C4 10 ADD ESP,10 004E806C 85C0 TEST EAX,EAX 004E806E 53 PUSH EBX ; /Timerproc 004E806F 68 E8030000 PUSH 3E8 ; |Timeout = 1000. ms 004E8074 6A 64 PUSH 64 ; |TimerID = 64 (100.) 004E8076 891D 54016700 MOV DWORD PTR DS:[670154],EBX ; | 004E807C 56 PUSH ESI ; |hWnd 004E807D 891D 50016700 MOV DWORD PTR DS:[670150],EBX ; | 004E8083 75 0A JNZ SHORT mirc.004E808F ; | 004E8085 C705 50016700>MOV DWORD PTR DS:[670150],2 ; | 004E808F FF15 1C475F00 CALL DWORD PTR DS:[<&USER32.SetTimer>] ; \SetTimer 004E8095 5F POP EDI 004E8096 5E POP ESI 004E8097 8BC5 MOV EAX,EBP 004E8099 5D POP EBP 004E809A 5B POP EBX 004E809B 81C4 D0200000 ADD ESP,20D0 004E80A1 C2 1000 RETN 10 004E80A4 > 68 C0116700 PUSH mirc.006711C0 ; ASCII "1192-111724" 004E80A9 . 8D8C24 7C1000>LEA ECX,DWORD PTR SS:[ESP+107C] 004E80B0 . 68 68100000 PUSH 1068 004E80B5 . 51 PUSH ECX 004E80B6 . E8 95D4F3FF CALL mirc.00425550 004E80BB . 68 68100000 PUSH 1068 004E80C0 . 68 C0116700 PUSH mirc.006711C0 ; ASCII "1192-111724" 004E80C5 . E8 16B2F3FF CALL mirc.004232E0 004E80CA . 55 PUSH EBP 004E80CB . 68 C0116700 PUSH mirc.006711C0 ; ASCII "1192-111724" 004E80D0 . 68 28226700 PUSH mirc.00672228 ; ASCII "SemDJ" 004E80D5 . E8 36EAFFFF CALL mirc.004E6B10 004E80DA . 83C4 20 ADD ESP,20 004E80DD . 85C0 TEST EAX,EAX 004E80DF 74 51 JE SHORT mirc.004E8132 004E80E1 . 6A 02 PUSH 2 004E80E3 . 8D9424 7C1000>LEA EDX,DWORD PTR SS:[ESP+107C] 004E80EA . 52 PUSH EDX 004E80EB . 68 C0116700 PUSH mirc.006711C0 ; ASCII "1192-111724" 004E80F0 . E8 3BF4FFFF CALL mirc.004E7530 004E80F5 . 83C4 0C ADD ESP,0C 004E80F8 85C0 TEST EAX,EAX 004E80FA 90 NOP ; Забиваю Nop 004E80FB 90 NOP 004E80FC . 68 E8030000 PUSH 3E8 ; /Timeout = 1000. ms 004E8101 . FF15 A4425F00 CALL DWORD PTR DS:[<&KERNEL32.Sleep>] ; \Sleep 004E8107 . 55 PUSH EBP 004E8108 . 8D8424 7C1000>LEA EAX,DWORD PTR SS:[ESP+107C] 004E810F . 50 PUSH EAX 004E8110 . 68 C0116700 PUSH mirc.006711C0 ; ASCII "1192-111724" 004E8115 . 68 28226700 PUSH mirc.00672228 ; ASCII "SemDJ" 004E811A . 56 PUSH ESI 004E811B . E8 50F9FFFF CALL mirc.004E7A70 ссылка на прогу shareua.com/files/show/1804631/mirc635.rar.html ----- minimaL_patсh на руборде ![]() |
|
Создано: 23 октября 2008 16:20 · Личное сообщение · #2 В Olly CTRL-N, ищи ExitProcess. Если есть, ставь breakpoint on every reference или просто bp ExitProcess. Когда будешь вылетать, брякнешся, посмотришь в стеке адрес возврата, вернешься к вызову ExitProcess или к вызову функции, вызывающей функцию с ExitProcess. Там должна быть причина (типа поменять JE на JMP). 2-й вариант - подвязка к таймерной API функции, проверка условия, потом ExitProcess или что-то похожее. Стоит попробовать. ![]() |
|
Создано: 23 октября 2008 18:02 · Личное сообщение · #3 |
|
Создано: 24 октября 2008 00:01 · Личное сообщение · #4 Crypto Analyzer'ом посканил CRC32 нашёл. Ставь бряк на ReadFile и отлавливай CRC проверку, также создай правило в своем файере для mIRC //Добавлено P.S. Видимо когда ты правишь по адресу 004E7FF8, JNZ ты минуешь вызов необходимых функций вместе с функцией отправки по интернету, попробуй потрасировать дальше и подделать ответ сервера, т.е. измени условия программы внутри самой отправки. ----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes ![]() |
|
Создано: 24 октября 2008 12:23 · Личное сообщение · #5 |
|
Создано: 24 октября 2008 13:33 · Поправил: v0id2k · Личное сообщение · #6 |
|
Создано: 25 октября 2008 05:08 · Личное сообщение · #7 |
![]() |
eXeL@B —› Вопросы новичков —› Нужна помощь со взломом mIRC 6.35 |