· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.RESEARCH —› Как отделить спертые байты(ASPROTECT)?

Посл.отвђт Сообщенiе


Дата: Июл 1, 2003 18:50:20

Как отделить спертые байты(ASPROTECT)?


Дата: Июл 1, 2003 19:38:11

Странный вопрос :-D
http://www.xtin.km.ru/


Дата: Июл 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