反汇编。。。本来以为很难,原来却这么容易

虽然只是一段简短的控制台下输出字符,但是却是我花了一下午的时间

艰难地找到的关键算法的位置,真的很艰难。

新人自学真痛苦。。。

00401000 /$ 51   PUSH ECX
00401001 |. 56   PUSH ESI
00401002 |. 68 40804000 PUSH 1.00408040
00401007 |. E8 AB000000 CALL 1.004010B7
0040100C |. 8D4424 08  LEA EAX,DWORD PTR SS:[ESP+8]
00401010 |. 50   PUSH EAX
00401011 |. 68 3C804000 PUSH 1.0040803C  ; ASCII "%d"
00401016 |. E8 85000000 CALL 1.004010A0
0040101B |. 8B4424 10  MOV EAX,DWORD PTR SS:[ESP+10]
0040101F |. BE 01000000 MOV ESI,1
00401024 |. 83C4 0C  ADD ESP,0C
00401027 |. 3BC6   CMP EAX,ESI
00401029 |. 7C 5C  JL SHORT 1.00401087
0040102B |. 53 PUSH  EBX
0040102C |. 57 PUSH  EDI
0040102D |. BB 04000000 MOV EBX,4
00401032 |> BF 01000000 /MOV EDI,1
00401037 |. 2BC6   |SUB EAX,ESI
00401039 |. 3BC7   |CMP EAX,EDI
0040103B |. 7C 18  |JL SHORT 1.00401055
0040103D |> 68 38804000 |/PUSH 1.00408038
00401042 |. E8 70000000 ||CALL 1.004010B7
00401047 |. 8B4C24 10  ||MOV ECX,DWORD PTR SS:[ESP+10]
0040104B |. 83C4 04  ||ADD ESP,4
0040104E |. 47   ||INC EDI
0040104F |. 2BCE   ||SUB ECX,ESI
00401051 |. 3BF9   ||CMP EDI,ECX
00401053 |.^ 7E E8  |JLE SHORT 1.0040103D
00401055 |> 83FB 01  |CMP EBX,1
00401058 |. 7C 12  |JL SHORT 1.0040106C
0040105A |. 8BFB   |MOV EDI,EBX
0040105C |> 68 34804000 |/PUSH 1.00408034
00401061 |. E8 51000000 ||CALL 1.004010B7
00401066 |. 83C4 04  ||ADD ESP,4
00401069 |. 4F   ||DEC EDI
0040106A |.^ 75 F0  |JNZ SHORT 1.0040105C
0040106C |> 68 30804000 |PUSH 1.00408030
00401071 |. E8 41000000 |CALL 1.004010B7
00401076 |. 8B4424 10  |MOV EAX,DWORD PTR SS:[ESP+10]
0040107A |. 83C4 04  |ADD ESP,4
0040107D |. 46   |INC ESI
0040107E |. 83C3 02  |ADD EBX,2
00401081 |. 3BF0   |CMP ESI,EAX
00401083 |.^ 7E AD  JLE SHORT 1.00401032
00401085 |. 5F POP  EDI
00401086 |. 5B POP  EBX
00401087 |> E8 6A580000 CALL 1.004068F6
0040108C |. 33C0   XOR EAX,EAX
0040108E |. 5E   POP ESI
0040108F |. 59   POP ECX
00401090 . C3   RETN

原文地址:https://www.cnblogs.com/suanguade/p/4038270.html