摘要:
知识点: 浮点数的存放方式 st0至st7 FLD,FST,FADD指令 一、浮点数的存放方式 00401000 /$ 55 PUSH EBP 00401001 |. 8BEC MOV EBP,ESP 00401003 |. 51 PUSH ECX ... 阅读全文
摘要:
do while生成的汇编代码 do while汇编还原成C++代码 一、 do while成生的汇编代码 // int i=0; // do // { // i++; // } while (iMOV DWORD PTR SS:[EBP-4],0 ; i=0; //0040100B |> 8B45 FC /MOV EAX,DWOR... 阅读全文
摘要:
知识点: inc 加1指令 dec 减1指令 一、加一指令inc inc a 相当于 add a,1 //i++ 优点 速度比sub指令快,占用空间小 这条指令执行结果影响AF、OF、PF、SF、ZF标志位,但不影响CF进位标志位. 二、减一指令dec dec a 相当于 sub a,1 004012D7 > 83E8 01 SUB EAX,1 004012DA... 阅读全文
摘要:
知识点: for循环生成代码1 for循环生成代码2 inc指令 一、一般情况下的for循环汇编代码分析 for (int i=1;iMOV DWORD PTR SS:[EBP-4],1 ; i=1; //0040100B |. EB 09 JMP SHORT for.00401016 //0040100D |> 8B45 ... 阅读全文
摘要:
知识点: switch case生成的汇编框架 逆向汇编代码还原成C++代码 一、了解switch case结构 1、普通情况 00401011 |. 83C4 04 ADD ESP,4 00401014 |. C745 FC 20000>MOV DWORD PTR SS:[EBP-4],20 ; a=20; 0040101B |. 8... 阅读全文
摘要:
知识点: if else 逆向还原代码 一、了解if else结构 sub esp,8 00401029 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 0040102C |. 3B45 F8 CMP EAX,DWORD PTR SS:[EBP-8] 0040102F |. 7E 10 JLE SHORT ... 阅读全文