堆栈图,主要目的就是练习一下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指令练习的堆栈图的更多相关文章

  1. 汇编之JCC指令

    版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明.2019-09-06,21:59:16.作者By-----溺心与沉浮----博客园 JCC指令决定它跳不跳转跟别的没关系,只跟EFLAG标 ...

  2. 【reverse】逆向7 堆栈图

    [reverse]逆向7 堆栈图 前言 本章就是开始画堆栈图来打基础拉,堆栈熟悉了之后就可以开始C语言的逆向了. 这一章使用的exe文件,我已经上传到了我的个人网盘中,点击下载 1.准备工作 先看这张 ...

  3. 【 D3.js 高级系列 — 3.0 】 堆栈图

    堆栈图布局(Stack Layout)能够计算二维数组每一数据层的基线,以方便将各数据层叠加起来.本文讲解堆栈图的制作方法. 先说说什么是堆栈图. 例如,有如下情况: 某公司,销售三种产品:个人电脑. ...

  4. JCC 指令

    JCC跳转指令 JCC指条件跳转指令,CC就是指条件码. JCC指令 中文含义 英文原意 检查符号位 典型C应用 JZ/JE 若为0则跳转:若相等则跳转 jump if zero;jump if eq ...

  5. JCC指令

    0.JMP1.JE, JZ 结果为零则跳转(相等时跳转) ZF=12.JNE, JNZ 结果不为零则跳转(不相等时跳转) ZF=03.JS   结果为负则跳转   SF=14.JNS   结果为非负则 ...

  6. angularjs指令实现轮播图----swiper

    'use strict'; angular.module('app').directive('swipersLbt',swipers); swipers.$inject = ['$timeout']; ...

  7. x86汇编指令详解

    80x86指令系统 80x86指令系统,指令按功能可分为以下七个部分. (1) 数据传送指令. (2) 算术运算指令. (3) 逻辑运算指令. (4) 串操作指令. (5) 控制转移指令. (6) 处 ...

  8. x86汇编指令具体解释

    80x86指令系统 80x86指令系统,指令按功能可分为下面七个部分. (1) 数据传送指令. (2) 算术运算指令. (3) 逻辑运算指令. (4) 串操作指令. (5) 控制转移指令. (6) 处 ...

  9. 【reverse】逆向6 JCC

    [reverse]逆向6 JCC 前言 我们之前学习的时候讲了,eip寄存器存储的是当前(即将执行的语句的) 指向地址 而我们之前提到的下断点(F2),就和我们编程中的下断点一样,执行到某句汇编指令然 ...

随机推荐

  1. python从入门到放弃之协程

    协程 协程,又称微线程,纤程.英文名Coroutine. 协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用. 子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B ...

  2. 初学JavaScript正则表达式(十二)

    text / exec方法 text() var reg1 = /\w/; var reg2 = /\w/g; reg1.test('a') === true reg2.test('a') === t ...

  3. Node.js Koa2开发微信小程序服务端

    1.promise.async.await const Koa = require('koa') const app = new Koa() // 应用程序对象 有很多中间件 // 发送HTTP KO ...

  4. 浅谈this指向问题

    链接地址:https://www.jianshu.com/p/34572435b5d0

  5. 【树状数组】2019徐州网络赛 query

    (2)首先成倍数对的数量是nlogn级别的,考虑每一对[xL,xR](下标的位置,xL < xR)会对那些询问做出贡献,如果qL <= xL && qR >= xR, ...

  6. jTopo介绍(一)

    jTopo(Javascript Topology library)是一款完全基于HTML5 Canvas的关系.拓扑图形化界面开发工具包.jTopo关注于数据的图形展示,它是面向开发人员的,需要进行 ...

  7. FLOPS

    FLOPS FLOPS(Float Operations Per Second):每秒浮点运算量,是衡量吞吐率的一个单位,通过折算到具体的浮点操作数量上. 所谓,吞吐率——就如同水管,每秒可以流出多少 ...

  8. LG4556 [Vani有约会]雨天的尾巴 动态开点线段树+线段树合并

    问题描述 LG4556 题解 对于每一个结点,建立一棵动态开点线段树. 然后自低向上合并线段树. 同时维护整个值域的最大值和最大值位置. \(\mathrm{Code}\) #include<b ...

  9. ResultMap(还没细看)

    前言 MyBatis是基于“数据库结构不可控”的思想建立的,也就是我们希望数据库遵循第三范式或BCNF,但实际事与愿违,那么结果集映射就是MyBatis为我们提供这种理想与现实间转换的手段了,而res ...

  10. 全面理解UE4委托

    UE4中的delegate(委托)常用于解耦不同对象之间的关联:委托的触发者不与监听者有直接关联,两者通过委托对象间接地建立联系 监听者通过将响应函数绑定到委托上,使得委托触发时立即收到通知,并进行相 ...