首页
社区
课程
招聘
菜鸟请教:对代码有选择地执行的程序,应该怎样跟踪?
发表于: 2006-3-12 08:50 4026

菜鸟请教:对代码有选择地执行的程序,应该怎样跟踪?

2006-3-12 08:50
4026
本人太菜,以前仅仅跟过内存中个别数据,改动(或注入)写该数
据的程序代码,其他什么都不会。我想学跟踪,遇到了执行前面的代码,
改动后面的代码,并且对内存中的代码有选择地执行,比如:?
;----------------  内存中的代码    ------------------
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期)

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 230
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
搞不懂你要问什么,,,,,可能是我太太菜了
2006-3-12 12:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢看贴。
    怪我没讲清楚。我的意思是: 我只能肯定EIP指向的一句代码是要执行的,其他代码都不能肯定它会执行,因为对前面的代码,哪些执行过我记不住,后面的代码还没试过。 如果不把执行过的代码抄出来,哪些代码是哪一个子程序的都分不清楚,更不要讲各个子程序的作用和关系了。
    如果抄写执行过的代码,这个程序比较大,我用TRW的U命令复制出代码为txt文件有20多MB。其中肯定有循环、反调试等,单步跟很慢,并且在调试器中呆的时间长一点程序就退出了。
    想学脱壳,网上没找到脱这种(PEID查是UltraProtect1.x->RISCO Software Inc)壳的工具软件,我又不会手工脱....
     只怪我太菜,遇一点事就没办法了。
     我应该怎么办,不知道还有哪些好方法,能否请哪位指教?
2006-3-12 20:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
    带着以上问题在网上转了N久,估计这可能是什么所谓的花指令和代码动态修改吧。我已经看了一些花指令等方面的资料,涉及的内容比较多,不是三言两语能讲清楚的,自己再去试试看。
    谢谢大家看贴。
    版主,为了不耽误大家的时间, 我这一个内容可以删除了。
    谢谢。
2006-3-13 07:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
UltraProtect是有这个功能
解的时候比较烦人
可以用脚本来整理一下流程
会清楚一些
2006-3-13 11:03
0
游客
登录 | 注册 方可回帖
返回
//