|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 1, 2003 18:50:20 Как отделить спертые байты(ASPROTECT)? |
|
|
Дата: Июл 1, 2003 19:38:11 |
|
|
Дата: Июл 1, 2003 22:39:04 AndreyR wrote: Как отделить спертые байты(ASPROTECT)? Да, это немного странноватый вопрос...про это столько писали...вот когда по bpm esp-24 брякаешься...потом шагаешь и видишь группу байтов, где в конце push 90909090, вот перед этим и спертые байты...начиная с push ebp. |
|
|
Дата: Июл 4, 2003 15:29:04 А вот вам небольшой пример кода ;---------------------------------------------- ; последний декрипторный цикл ;---------------------------------------------- 01796A77 8B07 MOV EAX,DWORD PTR DS:[EDI] 01796A79 66:8BD7 MOV DX,DI 01796A7C 81C0 A3056F09 ADD EAX,96F05A3 01796A82 BA 24D44F55 MOV EDX,554FD424 01796A87 81E8 A0400F17 SUB EAX,170F40A0 01796A8D 66:81EA 458F SUB DX,8F45 01796A92 81C0 5974EF12 ADD EAX,12EF7459 01796A98 66:8BD6 MOV DX,SI 01796A9B 8907 MOV DWORD PTR DS:[EDI],EAX 01796A9D 68 FD614C1E PUSH 1E4C61FD 01796AA2 BE 9F66236C MOV ESI,6C23669F 01796AA7 5E POP ESI 01796AA8 83EF 02 SUB EDI,2 01796AAB 66:8BDA MOV BX,DX 01796AAE 4F DEC EDI 01796AAF 4F DEC EDI 01796AB0 66:81CE EE0C OR SI,0CEE 01796AB5 49 DEC ECX 01796AB6 0F85 BBFFFFFF JNZ 01796A77 ;---------------------------------------------- 01796ABC 66:BA 0892 MOV DX,9208 01796AC0 5B POP EBX 01796AC1 58 POP EAX 01796AC2 05 46463238 ADD EAX,38324646 01796AC7 5C POP ESP 01796AC8 03C3 ADD EAX,EBX 01796ACA 83C4 20 ADD ESP,20 ; судя по всему в EBX помещается ; длина "украденной" последовательности ; байтов 01796ACD BB 26000000 MOV EBX,26 ; проверка того были ли "украдены" ; байты при наложении защиты; ; если нет, то пара инструкций ; PUSH EAX/RETN выполняет переход ; на OEP 01796AD2 0BDB OR EBX,EBX 01796AD4 75 02 JNZ SHORT 01796AD8 01796AD6 50 PUSH EAX 01796AD7 C3 RETN ; в эту точку происходит переход с ; адреса 01796AD4 если байты были "украдены" 01796AD8 E8 00000000 CALL 01796ADD 01796ADD 5D POP EBP 01796ADE 81ED BD6F4900 SUB EBP,496FBD 01796AE4 8D8D D16F4900 LEA ECX,DWORD PTR SS:[EBP+496FD1] 01796AEA 03CB ADD ECX,EBX 01796AEC 8941 01 MOV DWORD PTR DS:[ECX+1],EAX 01796AEF EB 00 JMP SHORT 01796AF1 ;---------------------------------------------- ; последовательность инструкций, ; "украденных" с OEP; ее длина 26h байт ;---------------------------------------------- 01796AF1 55 PUSH EBP 01796AF2 8BEC MOV EBP,ESP 01796AF4 6A FF PUSH -1 01796AF6 68 407C4E00 PUSH 4E7C40 01796AFB 68 60614500 PUSH 456160 01796B00 64:A1 00000000 MOV EAX,DWORD PTR FS:[0] 01796B06 50 PUSH EAX 01796B07 64:8925 00000000 MOV DWORD PTR FS:[0],ESP 01796B0E 83EC 58 SUB ESP,58 01796B11 53 PUSH EBX 01796B12 56 PUSH ESI 01796B13 57 PUSH EDI 01796B14 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP ;---------------------------------------------- 01796B17 68 88624500 PUSH 456288 01796B1C C3 RETN |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.071 |