堆栈图,主要目的就是练习一下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. 【转载】编程语言排行榜2019年7月 TIOBE编程语言排行榜2019年最新版

    TIOBE在前段时间公布了编程语言排行榜2019年7月的数据,编程语言7月的排名有了新的变化,Python继教占领第三名,Java还是稳居第一,C++本月又降了0.91%.下面一起来看看2019年7月 ...

  2. [Go] golang实现mysql连接池

    golang中连接mysql数据库,需要使用一个第三方类库github.com/go-sql-driver/mysql,在这个类库中就实现了mysql的连接池,并且只需要设置两个参数就可以实现 一般连 ...

  3. 1. Go语言—初始

    一.golang语言特性 1. 垃圾回收 内存自动回收,再也不需要开发人员管理内存 开发人员专注业务实现,降低了心智负担 只需要new分配内存,不需要释放 2. 天然并发 从语言层面支持并发,非常简单 ...

  4. Codeforces Round #604 (Div. 2) 练习A,B题解

    A题 链接 思路分析: 因为只需要做到相邻的不相同,利用三个不同的字母是肯定可以实现的, 所以直接先将所有的问号进行替换,比如比前一个大1,如果与后面的冲突,则再加一 代码(写的很烂): #inclu ...

  5. Vue.js面试整理

    Vue项目结构介绍 build 文件夹:用于存放 webpack 相关配置和脚本. config 文件夹:主要存放配置文件,比如配置开发环境的端口号.开启热加载或开启gzip压缩等. dist 文件夹 ...

  6. Vue的模板语法(四)

    一.插值 1. 文本 数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值: <span>Message: {{ msg }}</span> Must ...

  7. LG3237 「HNOI2014」米特运输 树形DP

    问题描述 LG3237 题解 问题转化为: 要求将这棵树,满足 结点 \(x\) 所有孩子权值相等 结点 \(x\) 权值等于所有孩子权值和 将乘法转化为 \(\log\) 加法 \(\mathrm{ ...

  8. http与Rpc

    RPC即远程服务调用 出现原因:随着项目越来越大,访问量越来越大,为了突破性能瓶颈,需要将项目拆分成多个部分,这样比起传统的项目都是本地内存调用,分布式的项目之间需要在网络间进行通信 服务之间的远程调 ...

  9. ORA-12638:身份证明检索失败的解决方法

    找到安装目录:E:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN 打开 sqlnet.ora 找到SQLNET.AUTHENTICATION_SERVICE ...

  10. linux常用终端命令

    01. 终端命令格式 command [-options] [parameter] 说明: command:命令名,相应功能的英文单词或单词的缩写 [-options]:选项,可用来对命令进行控制,也 ...