首页
社区
课程
招聘
[求助]两次反汇编代码不一样,怎么回事?
发表于: 2008-5-1 23:12 3745

[求助]两次反汇编代码不一样,怎么回事?

2008-5-1 23:12
3745
两次反汇编代码不一样,怎么回事?
这是我第一次脱壳,不要见笑

脱壳的是2007年PYG认证crackme

用esp很容易脱掉

先F8一下

对【ESP】下硬件访问断点

然后F9

004C6260   /74 0A           je      short 004C626C
004C6262   |61              popad
004C6263   |9D              popfd
004C6264   |B8 01000000     mov     eax, 1
004C6269   |C2 0C00         retn    0C
004C626C   \61              popad
004C626D    9D              popfd                         ;按F9后就来到这句
004C626E  - E9 190EFBFF     jmp     0047708C              ;跳往OEP

F8两次,来到0047708C
0047708C      55            db      55                               ;  CHAR 'U'
0047708D      8B            db      8B
0047708E      EC            db      EC
0047708F      83            db      83
00477090      C4            db      C4
00477091      F0            db      F0
00477092      B8            db      B8
00477093   .  04 6E         add     al, 6E
00477095   .  47            inc     edi
00477096   .  00E8          add     al, ch
00477098   .  50            push    eax
00477099   .  F4            hlt
0047709A   .  F8            clc
0047709B   .  FFA1 0C934700 jmp     dword ptr [ecx+47930C]
004770A1      8B            db      8B

然后用OD插件dump出来

竟然直接可以运行,是delphi写的

用OD再载入dump出来的程序
0047708C > $  55            push    ebp
0047708D   .  8BEC          mov     ebp, esp
0047708F   .  83C4 F0       add     esp, -10
00477092   .  B8 046E4700   mov     eax, 00476E04
00477097   .  E8 50F4F8FF   call    004064EC
0047709C   .  A1 0C934700   mov     eax, dword ptr [47930C]
004770A1   .  8B00          mov     eax, dword ptr [eax]
004770A3   .  E8 7CCEFDFF   call    00453F24
004770A8   .  A1 0C934700   mov     eax, dword ptr [47930C]
004770AD   .  8B00          mov     eax, dword ptr [eax]
004770AF   .  BA EC704700   mov     edx, 004770EC                    ;  ASCII "[PYG]CrackMe2007"

我想问下,为什么两次反汇编代码不一样

第一次可以用OD反汇编成第二次那种吗?分析代码我试过,右键分析代码好像不行

还有一个问题,直接dump出来运行没出错,为什么用ImportREC_fix修复了一下反而又出错了呢

另外问下,这个crackme是不是检测dede,并结束它,我下载的dede总是打不开。。。。。。。。

多谢拉!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 50161
活跃值: (20620)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
http://bbs.pediy.com/showthread.php?t=31840

Q:OD中的代码乱码,如:
004365E0 >db 68 ; CHAR 'h'
004365E1 >db A4
004365E2 >db 7A ; CHAR 'z'
004365E3 >db E5
004365E4 >db B8
004365E5 >db E8
004365E6 >db BB
A:OD右键,"分析/从模板中删除分析",如不行,按Ctrl+A重新分析
2008-5-2 10:22
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
多谢,用"分析/从模板中删除分析"可以,但ctrl+a不行

从模板中删除分析

是什么意思?

还有一个问题,直接从内存里dump出来运行没出错,为什么用ImportREC_fix修复了一下反而又出错了呢?
2008-5-2 13:03
0
游客
登录 | 注册 方可回帖
返回
//