C++反汇编->减法分析
来源:互联网 发布:优化排名 编辑:程序博客网 时间:2024/05/18 20:08
#include "iostream"void main(){std::cout<<"Hello World"<<std::endl;//便于定位int a,b,c,d,e;a=1;b=2;c=b-a; d=c-100; e=-2-3;std::cout<<c<<std::endl;std::cout<<d<<std::endl;std::cout<<e<<std::endl;system("pause");//也可以看做一个定位字符}
ollydeb分析:
地址 HEX数据 反汇编 注释
004015A6 |. C745 FC 01000>MOV DWORD PTR SS:[EBP-4],1 ; a赋值为1004015AD |. C745 F8 02000>MOV DWORD PTR SS:[EBP-8],2 ; b赋值为2004015B4 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; 将b值传到EAX中004015B7 |. 2B45 FC SUB EAX,DWORD PTR SS:[EBP-4] ; 将a值传到EAX中,并执行减法运算004015BA |. 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX ; 将EAX值传到c中004015BD |. 8B4D F4 MOV ECX,DWORD PTR SS:[EBP-C] ; 将c值复制到ECX中004015C0 |. 83E9 64 SUB ECX,64 ; 将c与100相减004015C3 |. 894D F0 MOV DWORD PTR SS:[EBP-10],ECX ; 将ECX值传送到d当中004015C6 |. C745 EC FBFFF>MOV DWORD PTR SS:[EBP-14],-5 ; 将-5传送到e中(编译阶段完成计算)004015CD |. 68 C8104000 PUSH test1.004010C8004015D2 |. 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C] ; 输出c004015D5 |. 52 PUSH EDX004015D6 |. B9 A0DE4700 MOV ECX,OFFSET test1.D@MODE@?$CK?$CKargv?5?$CB?$DN>004015DB |. E8 1FFBFFFF CALL test1.004010FF004015E0 >|. 8BC8 MOV ECX,EAX004015E2 |. E8 F9FBFFFF CALL test1.004011E0004015E7 |. 68 C8104000 PUSH test1.004010C8004015EC |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; 输出d004015EF |. 50 PUSH EAX ; pause004015F0 |. B9 A0DE4700 MOV ECX,OFFSET test1.D@MODE@?$CK?$CKargv?5?$CB?$DN>004015F5 |. E8 05FBFFFF CALL test1.004010FF004015FA |. 8BC8 MOV ECX,EAX004015FC |. E8 DFFBFFFF CALL test1.004011E000401601 |. 68 C8104000 PUSH test1.004010C800401606 |. 8B4D EC MOV ECX,DWORD PTR SS:[EBP-14] ; 输出e00401609 |. 51 PUSH ECX0040160A |. B9 A0DE4700 MOV ECX,OFFSET test1.D@MODE@?$CK?$CKargv?5?$CB?$DN>0040160F |. E8 EBFAFFFF CALL test1.004010FF00401614 |. 8BC8 MOV ECX,EAX00401616 |. E8 C5FBFFFF CALL test1.004011E00040161B |. 68 1C004700 PUSH OFFSET test1._Lk ; /pause00401620 >|. E8 9BF30100 CALL test1.system ; \system分析得出:
1. 减法运算没有使用加负数的表现形式。
2.对于常熟相加减,没有调用sub,add指令,直接运算后赋值。
3.当加数为负数时,执行为减法操作。
0 0
- C++反汇编->减法分析
- c&c++反汇编与逆向分析学习笔记(6)--减法表达式
- C反汇编示例分析
- C库字符串反汇编分析
- C程序反汇编代码分析
- 反汇编一个简单的C程序,分析汇编代码
- IoGetCurrentProcess 反汇编分析
- 反汇编代码分析
- 反汇编代码分析
- c反汇编学习汇编
- C语言程序的反汇编分析2
- C/C++代码分析时的一些反汇编方法
- 部分C库函数重写以及反汇编分析之 toupper()
- 部分C库函数重写以及反汇编分析之memmov()
- 部分C库函数重写以及反汇编分析之memset()
- 部分C库函数重写以及反汇编分析之memch()
- C语言流程控制语句的反汇编分析
- 分析单任务计算机操作之反汇编C程序
- linux文件编程- C库
- Ueditor在ASP.NET的配置说明
- EL取Map在tomcat6与tomcat7中的不同表现
- c++面试题3
- 浅析Tomcat、JBOSS、WebSphere、WebLogic、Apache
- C++反汇编->减法分析
- zedboard 构建嵌入式linux
- HSRP
- bootstrap 不得不说的sass
- C++编程练习(12)----“有向图的拓扑排序“
- 传话游戏——编程之美挑战赛
- HSRP
- magento如何重写控制器
- 小技巧