本人太菜,以前仅仅跟过内存中个别数据,改动(或注入)写该数
据的程序代码,其他什么都不会。我想学跟踪,遇到了执行前面的代码,
改动后面的代码,并且对内存中的代码有选择地执行,比如:?
;---------------- 内存中的代码 ------------------
005F4000 60 PUSHA
005F4001 7203 JC 005F4006
005F4003 7301 JNC 005F4006
005F4005 78C1 JS 005F3FC8
005F4007 EF OUT DX,EAX
005F4008 AB STOSD
005F4009 D3EF SHR EDI,CL
005F400B 4E DEC ESI
005F400C 47 INC EDI
005F400D E801000000 CALL 005F4013
005F4012 7483 JZ 005F3F97
005F4014 C4044A LES EAX,[EDX+ECX*2]
005F4017 7C03 JL 005F401C
005F4019 7D01 JNL 005F401C
005F401B 748B JZ 005F3FA8
005F401D FA CLI
005F401E E801000000 CALL 005F4024
005F4023 E983C40470 JMP 706404AB
005F4028 056681EA16 ADD EAX,16EA8166
005F402D 34E8 XOR AL,E8
005F402F 0100 ADD [EAX],EAX
005F4031 0000 ADD [EAX],AL
005F4033 E983042406 JMP 068344BB
005F4038 C3 RET
;---------------- 实际执行 --------------------
005F4000 60 PUSHA
005F4001 7203 JC 005F4006
005F4003 7301 JNC 005F4006
005F4006 C1EFAB SHR EDI,AB ;选择
005F4009 D3EF SHR EDI,CL
005F400B 4E DEC ESI
005F400C 47 INC EDI
005F400D E801000000 CALL 005F4013
005F4013 83C404 ADD ESP,BYTE +04 ;选择
005F4016 4A DEC EDX ;选择
005F4017 7C03 JL 005F401C
005F401C 8BFA MOV EDI,EDX ;选择
005F401E E801000000 CALL 005F4024
005F4024 83C40470 ADD ESP,BYTE +04 ;选择
005F4027 7005 JO 005F402E ;选择
005F4029 6681EA1634 SUB DX,3416 ;选择
005F402E E801000000 CALL 005F4034 ;选择
005F4034 83042406 ADD DWORD[ESP],BYTE +06 ;选择
005F4038 C3 RET
遇到这种情况,我应该怎么跟踪,哪位能够抽空指教吗?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)