能读懂汇编代码不难,但是要是从汇编代码还原成源码就有的难度了(高手飘过),今天闲来无事,从网上找了个简单的算法,试着从汇编代码还原代码,从网上找了个谁是窃贼的算法代码,在没有看源码的情况下编译,然后反汇编Release版,分析的汇编代码如下: 00401000 /$ 83EC 10 SUB ESP,10 //安排4个单位堆栈内存 00401003 |. 55 PUSH EBP 00401004 |. 56 PUSH ESI 00401005 |. 57 PUSH EDI 00401006 |. 33ED XOR EBP,EBP //ebp清零 00401008 |> 33C0 /XOR EAX,EAX //eax清零 0040100A |. 8D4C24 0C |LEA ECX,DWORD PTR SS:[ESP+C] //ecx=esp+c(esp指向分配内存的栈顶) 0040100E |> 33D2 |/XOR EDX,EDX //edx清零 00401010 |. 3BC5 ||CMP EAX,EBP //比较EAX和EBP 00401012 |. 0F94C2 ||SETE DL //如果相等dl至1否则至0 00401015 |. 8911 ||MOV DWORD PTR DS:[ECX],EDX //edx存入ecx索引处的栈 00