昨天看了一篇帖子《使用ida对任意一段机器码进行反汇编》
我想用记事本写了一段C++代码,然后用winhex打开,选取所有保存为exe文件;
C++代码很简单,如下:
#include
using namespace std;
void main()
{
int a,b;
int c=a+b;
cout<
}
对winhex的操作是正确的,如下表:
然后用IDA打开新生成的1.exe(不知道是不是要特殊的编译器比如VC++生成EXE)
转换为Code代码
创建函数
seg000:00000000 sub_10000 proc near
seg000:00000000 000 and ebp, [ecx+6Eh]
seg000:00000003 000 arpl [ebp+esi*2+64h], bp
seg000:00000007 000 and gs:[ecx+ebp*2], bh
seg000:0000000B 000 outsd
seg000:0000000C 000 jnb short near ptr 82h
seg000:0000000E db 65h
seg000:0000000E 000 popa
seg000:00000010 -20 insd
seg000:00000011 db 2Eh
seg000:00000011 -20 push 750A0D3Eh
seg000:00000017 -1C jnb short near ptr 82h
seg000:00000019 -1C outsb
seg000:0000001A -1C and [bp+61h], ch
seg000:0000001E -1C insd
seg000:0000001F db 65h
seg000:0000001F -1C jnb short near ptr 92h
seg000:00000022 -1C popa
seg000:00000023 -3C arpl [ebp+20h], sp
seg000:00000026 -3C jnb short near ptr 9Ch
seg000:00000028 -3C cmp ecx, fs:760A0D0Ah
seg000:000