摘要: 知识点:  OR运算  逻辑或  按位或 一、OR运算 12||1=1; 1||01=1; 0||0=0; || //逻辑或 | //按位或 int _tmain(int argc, _TCHAR* argv[]) { int i,j,k; /*i=21; j=65;*/ i=0x33; //0110011 j=0x66; //11001... 阅读全文
posted @ 2017-02-06 17:55 whzym111 阅读(770) 评论(0) 推荐(0) 编辑
摘要: 知识点:  循环位移指令 ROL  循环位移指令 ROR 一、循环位移指令 ROL ROR int i=0x77886611;//01110111100010000110011000010001 _asm { //01110111100010000110011000010001 ->1 //10111011110001000011001100001000 //... 阅读全文
posted @ 2017-02-06 17:36 whzym111 阅读(3386) 评论(0) 推荐(0) 编辑
摘要: 知识点: shr 逻辑右移指令 shl 逻辑左移指令 一、SHL 逻辑左移指令测试 shr 逻辑右移指令 右移一位相当于整除2 shl 逻辑左移指令 左移一位相当于乘2 //很多时候会溢出 //>> 右移 //<< 左移 unsigned int i=0x66332211; unsigned int j=0; j=i<<1; j=i<<2; j=i<<8;//左移... 阅读全文
posted @ 2017-02-06 16:59 whzym111 阅读(4769) 评论(0) 推荐(0) 编辑
摘要: 知识点:  浮点指令 fsub 一、浮点指令fsub 格式 fsub memvar // st0=st0-memvar 知识点:  浮点指令 fmul 一、浮点指令fmul 格式 fmul memvar // st0=st0*memvar int _tmain(int argc, _TCHAR* argv[]) { double f1,f2;... 阅读全文
posted @ 2017-02-06 15:48 whzym111 阅读(7529) 评论(0) 推荐(0) 编辑
摘要: 知识点:  浮点数的存放方式  st0至st7  FLD,FST,FADD指令 一、浮点数的存放方式 00401000 /$ 55 PUSH EBP 00401001 |. 8BEC MOV EBP,ESP 00401003 |. 51 PUSH ECX ... 阅读全文
posted @ 2017-02-06 15:34 whzym111 阅读(10214) 评论(0) 推荐(0) 编辑
摘要: 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... 阅读全文
posted @ 2017-02-06 14:37 whzym111 阅读(891) 评论(0) 推荐(0) 编辑
摘要: 知识点: 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... 阅读全文
posted @ 2017-02-06 14:23 whzym111 阅读(35679) 评论(0) 推荐(0) 编辑
摘要: 知识点: 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 ... 阅读全文
posted @ 2017-02-06 14:04 whzym111 阅读(3089) 评论(0) 推荐(0) 编辑
摘要: 知识点: 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... 阅读全文
posted @ 2017-02-06 10:04 whzym111 阅读(767) 评论(0) 推荐(0) 编辑
摘要: 知识点: 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 ... 阅读全文
posted @ 2017-02-06 09:33 whzym111 阅读(756) 评论(0) 推荐(0) 编辑