针对JCC指令练习的堆栈图
堆栈图,主要目的就是练习一下JCC指令的熟练度,供参考
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。2019-09-10,23:41:41。
作者By-----溺心与沉浮----博客园
堆栈完整代码:
0040118E |. 6A PUSH
|. 6A 0C PUSH 0C
|. 6A PUSH
|. E8 85FEFFFF CALL HelloWor.0040101E
|. 83C4 0C ADD ESP,0C /> \ PUSH EBP
|. 8BEC MOV EBP,ESP
|. 83EC SUB ESP,
|. PUSH EBX
|. PUSH ESI
|. PUSH EDI
|. 8D7D C0 LEA EDI,DWORD PTR SS:[EBP-]
0040110C |. B9 MOV ECX,
|. B8 CCCCCCCC MOV EAX,CCCCCCCC
|. F3:AB REP STOS DWORD PTR ES:[EDI]
|. 8B45 MOV EAX,DWORD PTR SS:[EBP+]
0040111B |. 3B45 0C CMP EAX,DWORD PTR SS:[EBP+C]
0040111E |. 7E JLE SHORT HelloWor.
|. 8B4D MOV ECX,DWORD PTR SS:[EBP+]
|. 3B4D CMP ECX,DWORD PTR SS:[EBP+]
|. 7E JLE SHORT HelloWor.0040112D
|. 8B45 MOV EAX,DWORD PTR SS:[EBP+]
0040112B |. EB JMP SHORT HelloWor.
0040112D |> 8B45 MOV EAX,DWORD PTR SS:[EBP+]
|. EB JMP SHORT HelloWor.
|> 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C]
|. 3B55 CMP EDX,DWORD PTR SS:[EBP+]
|. 7E JLE SHORT HelloWor.0040113F
0040113A |. 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]
0040113D |. EB JMP SHORT HelloWor.
0040113F |> 8B45 MOV EAX,DWORD PTR SS:[EBP+]
|> 5F POP EDI
|. 5E POP ESI
|. 5B POP EBX
|. 8BE5 MOV ESP,EBP
|. 5D POP EBP
\. C3 RETN


核心功能块,真正代码块

核心功能块:
|. 8B45 MOV EAX,DWORD PTR SS:[EBP+]
0040111B |. 3B45 0C CMP EAX,DWORD PTR SS:[EBP+C]
0040111E |. 7E JLE SHORT HelloWor.
|. 8B4D MOV ECX,DWORD PTR SS:[EBP+]
|. 3B4D CMP ECX,DWORD PTR SS:[EBP+]
|. 7E JLE SHORT HelloWor.0040112D
|. 8B45 MOV EAX,DWORD PTR SS:[EBP+]
0040112B |. EB JMP SHORT HelloWor.
0040112D |> 8B45 MOV EAX,DWORD PTR SS:[EBP+]
|. EB JMP SHORT HelloWor.
|> 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C]
|. 3B55 CMP EDX,DWORD PTR SS:[EBP+]
|. 7E JLE SHORT HelloWor.0040113F
0040113A |. 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]
0040113D |. EB JMP SHORT HelloWor.
0040113F |> 8B45 MOV EAX,DWORD PTR SS:[EBP+]

版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。2019-09-10,23:41:41。
作者By-----溺心与沉浮----博客园
堆栈图这一块内容写的不好,后面我再想办法尽量把每一步骤都写明白整理上来,这是我自己做的练习,都在EXCEL上,贴上来,方便自己参考
针对JCC指令练习的堆栈图的更多相关文章
- 汇编之JCC指令
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明.2019-09-06,21:59:16.作者By-----溺心与沉浮----博客园 JCC指令决定它跳不跳转跟别的没关系,只跟EFLAG标 ...
- 【reverse】逆向7 堆栈图
[reverse]逆向7 堆栈图 前言 本章就是开始画堆栈图来打基础拉,堆栈熟悉了之后就可以开始C语言的逆向了. 这一章使用的exe文件,我已经上传到了我的个人网盘中,点击下载 1.准备工作 先看这张 ...
- 【 D3.js 高级系列 — 3.0 】 堆栈图
堆栈图布局(Stack Layout)能够计算二维数组每一数据层的基线,以方便将各数据层叠加起来.本文讲解堆栈图的制作方法. 先说说什么是堆栈图. 例如,有如下情况: 某公司,销售三种产品:个人电脑. ...
- JCC 指令
JCC跳转指令 JCC指条件跳转指令,CC就是指条件码. JCC指令 中文含义 英文原意 检查符号位 典型C应用 JZ/JE 若为0则跳转:若相等则跳转 jump if zero;jump if eq ...
- JCC指令
0.JMP1.JE, JZ 结果为零则跳转(相等时跳转) ZF=12.JNE, JNZ 结果不为零则跳转(不相等时跳转) ZF=03.JS 结果为负则跳转 SF=14.JNS 结果为非负则 ...
- angularjs指令实现轮播图----swiper
'use strict'; angular.module('app').directive('swipersLbt',swipers); swipers.$inject = ['$timeout']; ...
- x86汇编指令详解
80x86指令系统 80x86指令系统,指令按功能可分为以下七个部分. (1) 数据传送指令. (2) 算术运算指令. (3) 逻辑运算指令. (4) 串操作指令. (5) 控制转移指令. (6) 处 ...
- x86汇编指令具体解释
80x86指令系统 80x86指令系统,指令按功能可分为下面七个部分. (1) 数据传送指令. (2) 算术运算指令. (3) 逻辑运算指令. (4) 串操作指令. (5) 控制转移指令. (6) 处 ...
- 【reverse】逆向6 JCC
[reverse]逆向6 JCC 前言 我们之前学习的时候讲了,eip寄存器存储的是当前(即将执行的语句的) 指向地址 而我们之前提到的下断点(F2),就和我们编程中的下断点一样,执行到某句汇编指令然 ...
随机推荐
- python从入门到放弃之协程
协程 协程,又称微线程,纤程.英文名Coroutine. 协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用. 子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B ...
- 初学JavaScript正则表达式(十二)
text / exec方法 text() var reg1 = /\w/; var reg2 = /\w/g; reg1.test('a') === true reg2.test('a') === t ...
- Node.js Koa2开发微信小程序服务端
1.promise.async.await const Koa = require('koa') const app = new Koa() // 应用程序对象 有很多中间件 // 发送HTTP KO ...
- 浅谈this指向问题
链接地址:https://www.jianshu.com/p/34572435b5d0
- 【树状数组】2019徐州网络赛 query
(2)首先成倍数对的数量是nlogn级别的,考虑每一对[xL,xR](下标的位置,xL < xR)会对那些询问做出贡献,如果qL <= xL && qR >= xR, ...
- jTopo介绍(一)
jTopo(Javascript Topology library)是一款完全基于HTML5 Canvas的关系.拓扑图形化界面开发工具包.jTopo关注于数据的图形展示,它是面向开发人员的,需要进行 ...
- FLOPS
FLOPS FLOPS(Float Operations Per Second):每秒浮点运算量,是衡量吞吐率的一个单位,通过折算到具体的浮点操作数量上. 所谓,吞吐率——就如同水管,每秒可以流出多少 ...
- LG4556 [Vani有约会]雨天的尾巴 动态开点线段树+线段树合并
问题描述 LG4556 题解 对于每一个结点,建立一棵动态开点线段树. 然后自低向上合并线段树. 同时维护整个值域的最大值和最大值位置. \(\mathrm{Code}\) #include<b ...
- ResultMap(还没细看)
前言 MyBatis是基于“数据库结构不可控”的思想建立的,也就是我们希望数据库遵循第三范式或BCNF,但实际事与愿违,那么结果集映射就是MyBatis为我们提供这种理想与现实间转换的手段了,而res ...
- 全面理解UE4委托
UE4中的delegate(委托)常用于解耦不同对象之间的关联:委托的触发者不与监听者有直接关联,两者通过委托对象间接地建立联系 监听者通过将响应函数绑定到委托上,使得委托触发时立即收到通知,并进行相 ...