首页
社区
课程
招聘
[已解决]为什么OD可以分析出代码,而IDA不能分析出代码
发表于: 2007-11-12 17:35 10457

[已解决]为什么OD可以分析出代码,而IDA不能分析出代码

2007-11-12 17:35
10457
有一个程序,OD可以分析出代码,而IDA不能分析出代码:

OD分析如下:
00405690   .  6A FF         PUSH -1
00405692   .  68 BDD74300   PUSH XELoader.0043D7BD                   ;  SE 处理程序安装
00405697   .  64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
0040569D   .  50            PUSH EAX
0040569E   .  64:8925 00000>MOV DWORD PTR FS:[0],ESP
004056A5   .  81EC 2C020000 SUB ESP,22C
004056AB   .  53            PUSH EBX
004056AC   .  55            PUSH EBP
004056AD   .  56            PUSH ESI
004056AE   .  57            PUSH EDI
004056AF   .  8BE9          MOV EBP,ECX
004056B1   .  E8 D6D40200   CALL XELoader.00432B8C
004056B6   .  8B10          MOV EDX,DWORD PTR DS:[EAX]
004056B8   .  8BC8          MOV ECX,EAX
004056BA   .  FF52 0C       CALL DWORD PTR DS:[EDX+C]
004056BD   .  83C0 10       ADD EAX,10
004056C0   .  894424 20     MOV DWORD PTR SS:[ESP+20],EAX
004056C4   .  6A 00         PUSH 0
004056C6   .  55            PUSH EBP
004056C7   .  8D4424 2C     LEA EAX,DWORD PTR SS:[ESP+2C]
004056CB   .  50            PUSH EAX
004056CC   .  6A 0E         PUSH 0E
004056CE   .  6A 00         PUSH 0
004056D0   .  B9 15000000   MOV ECX,15
004056D5   .  BE D00D4400   MOV ESI,XELoader.00440DD0                ;  ASCII "CoolRISC binary files (*.axe;*.bin)|*.axe;*.bin| CoolRISC rom files (*.rom)|*.rom||"
004056DA   .  8D7C24 38     LEA EDI,DWORD PTR SS:[ESP+38]
004056DE   .  6A 00         PUSH 0
004056E0   .  F3:A5         REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
004056E2   .  6A 01         PUSH 1
004056E4   .  8D8C24 940000>LEA ECX,DWORD PTR SS:[ESP+94]
004056EB   .  C78424 600200>MOV DWORD PTR SS:[ESP+260],0
004056F6   .  E8 767F0200   CALL XELoader.0042D671
004056FB   .  68 94094400   PUSH XELoader.00440994                   ;  ASCII ".\"
00405700   .  68 C40D4400   PUSH XELoader.00440DC4                   ;  ASCII "Path"
00405705   .  68 A80B4400   PUSH XELoader.00440BA8                   ;  ASCII "Settings"
0040570A   .  8D4C24 20     LEA ECX,DWORD PTR SS:[ESP+20]
0040570E   .  51            PUSH ECX
...
0040595B   . /7F 08         JG SHORT XELoader.00405965
0040595D   . |8B08          MOV ECX,DWORD PTR DS:[EAX]
0040595F   . |8B11          MOV EDX,DWORD PTR DS:[ECX]
00405961   . |50            PUSH EAX
00405962   . |FF52 04       CALL DWORD PTR DS:[EDX+4]
00405965   > \8D4C24 78     LEA ECX,DWORD PTR SS:[ESP+78]
00405969   .  C68424 440200>MOV BYTE PTR SS:[ESP+244],0
00405971   .  E8 BA7C0200   CALL XELoader.0042D630
00405976   .  8B4424 20     MOV EAX,DWORD PTR SS:[ESP+20]
0040597A   .  83C0 F0       ADD EAX,-10
0040597D   .  C78424 440200>MOV DWORD PTR SS:[ESP+244],-1
00405988   .  8D48 0C       LEA ECX,DWORD PTR DS:[EAX+C]
0040598B   .  83CA FF       OR EDX,FFFFFFFF
0040598E   .  F0:0FC111     LOCK XADD DWORD PTR DS:[ECX],EDX         ;  锁定前缀
00405992   .  4A            DEC EDX
00405993   .  85D2          TEST EDX,EDX
00405995   .  7F 08         JG SHORT XELoader.0040599F
00405997   .  8B08          MOV ECX,DWORD PTR DS:[EAX]
00405999   .  8B11          MOV EDX,DWORD PTR DS:[ECX]
0040599B   .  50            PUSH EAX
0040599C   .  FF52 04       CALL DWORD PTR DS:[EDX+4]
0040599F   >  8B8C24 3C0200>MOV ECX,DWORD PTR SS:[ESP+23C]
004059A6   .  5F            POP EDI
004059A7   .  5E            POP ESI
004059A8   .  5D            POP EBP
004059A9   .  64:890D 00000>MOV DWORD PTR FS:[0],ECX
004059B0   .  5B            POP EBX
004059B1   .  81C4 38020000 ADD ESP,238
004059B7   .  C3            RETN

而IDA分析如下:

.text:00405686                 align 10h
.text:00405690                 dd 0BD68FF6Ah, 640043D7h, 0A1h, 89645000h, 25h, 2CEC8100h, 53000002h, 8B575655h, 0D4D6E8E9h
.text:00405690                 dd 108B0002h, 52FFC88Bh, 10C0830Ch, 20244489h, 8D55006Ah, 502C2444h, 6A0E6Ah, 15B9h
.text:00405690                 dd 0DD0BE00h, 7C8D0044h, 6A3824h, 16AA5F3h, 94248C8Dh, 0C7000000h, 2602484h, 0
.text:004056F4                 dd 76E80000h, 6800027Fh, 440994h, 440DC468h, 0BA86800h, 4C8D0044h, 8B512024h, 0A08Dh
.text:004056F4                 dd 2484C600h, 254h, 439FE801h, 748B0003h, 2B31424h, 78244C8Dh, 44249C88h, 0E8000002h
.text:004056F4                 dd 27D07h, 0BC68016Ah, 8900440Dh, 8D8B2C70h, 0A0h, 440BA868h, 4306E800h, 4C8D0003h, 0F08B7824h
.text:004056F4                 dd 27CE2E8h, 244C8D00h, 18708978h, 27CDAE8h, 1F88300h, 0E2850Fh, 548D0000h, 8D521024h
.text:004056F4                 dd 0E87C244Ch, 281A8h, 80C8D8Dh, 0C6500000h, 2482484h, 0E8030000h, 0FFFFD51Ch, 1024448Bh
.text:004056F4                 dd 88F0C083h, 244249Ch, 488D0000h, 0FFCA830Ch, 11C10FF0h, 7FD2854Ah, 8B088B08h, 52FF5011h
.text:004056F4                 dd 24448D04h, 4C8D5010h, 4AE87C24h, 8D000280h, 8B507C75h, 2484C6CEh, 248h, 0D4D6E804h
.text:004056F4                 dd 448BFFFFh, 0C0831024h, 249C88F0h, 244h, 830C488Dh, 0FF0FFCAh, 854A11C1h, 8B087FD2h
.text:004056F4                 dd 50118B08h, 8B0452FFh, 0A08Dh, 0D0C18100h, 56000000h, 0FFD49FE8h, 8B368BFFh, 0A08Dh
.text:004056F4                 dd 0C4685600h, 6800440Dh, 440BA8h, 324FCE8h, 244C8D00h, 7C0DE878h, 408B0002h, 0A08D8B18h
.text:004056F4                 dd 50000000h, 440DBC68h, 0BA86800h, 58E80044h, 6A000324h, 0E8CD8B00h, 29FCEh, 394B58Dh
.text:004056F4                 dd 0CE8B0000h, 0C77FE8h, 0CC8B5100h, 1C246489h, 4408C068h, 0DCEEE800h, 858BFFFFh, 80Ch
.text:004056F4                 dd 10E88351h, 24246489h, 0C650FC8Bh, 2502484h, 0E8050000h, 0FFFFCDB0h, 8310C083h, 0CE8B04C4h
.text:004056F4                 dd 9C880789h, 24C24h, 0D0EAE800h, 8D8B0000h, 80Ch, 11F47983h, 45C8D8Dh, 1B7E0000h, 0C8E8006Ah
.text:004056F4                 dd 6A0002C7h, 0E8CE8B05h, 2C7BFh, 0CE8B016Ah, 0CB3FE8h, 6A10EB00h, 0C7ADE805h, 6A0002h
.text:004056F4                 dd 0A4E8CE8Bh, 8B0002C7h, 0C6F6E8CEh, 8B510000h, 246489CCh, 8C06820h, 65E80044h, 8BFFFFDCh
.text:004056F4                 dd 80C85h, 0E8835100h, 24648910h, 50FC8B20h, 502484C6h, 6000002h, 0FFCD27E8h, 10C083FFh
.text:004056F4                 dd 8B04C483h, 880789CEh, 24C249Ch, 61E80000h, 6A0000D0h, 0E8CE8B01h, 0CAD8h, 0F1E8CD8Bh
.text:004056F4                 dd 8BFFFFF6h, 83142444h, 84C6F0C0h, 24424h, 508D0100h, 0FFC9830Ch, 0AC10FF0h, 7FC98549h
.text:004056F4                 dd 8B088B08h, 52FF5011h, 244C8D04h, 2484C678h, 244h, 7CBAE800h, 448B0002h, 0C0832024h
.text:004056F4                 dd 2484C7F0h, 244h, 0FFFFFFFFh, 830C488Dh, 0FF0FFCAh, 854A11C1h, 8B087FD2h, 50118B08h
.text:004056F4                 dd 8B0452FFh, 23C248Ch, 5E5F0000h, 0D89645Dh, 0
.text:004059B0 ; ---------------------------------------------------------------------------
.text:004059B0                 pop     ebx
.text:004059B1                 add     esp, 238h
.text:004059B7                 retn

不知这是什么原因造成的,如何能让IDA正确分析出代码,请高手指点指点点,谢谢!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 266
活跃值: (52)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
2
从OD分析的代码来看,这段代码也没有什么特别之处,为什么IDA就分析不出来呢?单独选中这一块,试着让它重新分析,还是不行。这个软件中,有好多函数代码IDA都分析不出来,不知是咋回事。

望各位大侠指点指点,万分感激!
2007-11-12 20:33
0
雪    币: 494
活跃值: (629)
能力值: ( LV9,RANK:1210 )
在线值:
发帖
回帖
粉丝
3
分析不出来可能是没有直接的caller在调用,死代码

先选中. Edit|undefine, Edit|Code
2007-11-12 20:47
0
雪    币: 266
活跃值: (52)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
4
原来如此,多谢老大指点,谢谢!
2007-11-12 20:57
0
雪    币: 556
活跃值: (2303)
能力值: ( LV9,RANK:2130 )
在线值:
发帖
回帖
粉丝
5
将光标移没分析的那地方,按下"C"键,然后force就行了。
2007-11-13 08:46
0
雪    币: 266
活跃值: (52)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
6
谢谢,方法很好,很方便,多谢指点!
2007-11-13 21:43
0
雪    币: 79
活跃值: (35)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
7
U一下,再C一下,就好了^_^
2007-11-20 23:41
0
游客
登录 | 注册 方可回帖
返回
//