有一个程序,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正确分析出代码,请高手指点指点点,谢谢!
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!