首页 > 其他分享 >逆向 —— 堆栈图(二)

逆向 —— 堆栈图(二)

时间:2023-02-20 20:44:39浏览次数:22  
标签:逆向 函数 书箱 Windows 入口 堆栈 子程序

函数:

计算机的函数,是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能的同时还带有一入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数值代入子程序,供计算机处理,所谓出口,就是指函数的计算结果,也称为返回值,在计算机求得之后,由此口带回给调用它的程序。

汇编中的函数:

 

 函数的入口:

 

思考:

此处我们是通过寄存器讲需要的数据传递给函数的,还可以有其他的方式吗?

 函数的出口:

 

思考:

函数的计算结果除了放在寄存器中,还可以放在什么地方?

Windows堆栈:

 

 

Windows堆栈的特点:

1、先进后出

2、向低地址扩展

什么是堆栈平衡:

Windows中的堆栈,是一块普通的内存,主要用来存储一些临时的数据和参数等可以把Windows中的堆栈想象成是一个公用的书箱,函数就像是使用箱子的人,函数在执行的时候,会用到这个书箱,把一些数据存到里面,但用完的时候,一定要记得把书拿走,否则会乱的,也就是说,你放进去几本书,走的时候也要拿走几本书,这个就是堆栈平衡.

 

标签:逆向,函数,书箱,Windows,入口,堆栈,子程序
From: https://www.cnblogs.com/BDAMBXA/p/17138087.html

相关文章

  • 逆向 —— 堆栈图(一)
    1、如何找到画堆栈图的地址  步骤一:在DTDEBUG中用F3快捷键打开HelloWorld.exe程序步骤二:Ctrl+G快捷键 弹出下面的窗口,在窗口中输入一个地址: 步骤三:在上面的......
  • 【Android逆向】frida hook so 函数
    1.apk来自52pojie链接:https://pan.baidu.com/s/1vKC1SevvHfeI7f0d2c6IqQ密码:u1an2.apktool反编译apk,拿到so文件java-jar../apktool_2.2.4.jardapp-debug.apk3.......
  • 9.逆向工程的搭建和使用
    renren-generator代码生成器 renren-generator使用复制到bianen-shop项目下逆向生成代码以bianen_shop_pms为例        配置renren-fast的数据库......
  • 逆向 —— JCC
    JMP指令:修改EIP的值MOVEIP,寄存器/立即数  简写为  JMP寄存器/立即数CALL指令:PUSH地址BMOVEIP,地址A/寄存器简写为:CALL地址A/寄存器RET指令:LEAESP,[ESP......
  • 堆栈图
    堆栈图:ctrl+g:跳转到输入的目标地址F2:选中地址后按F2,设置断点F8:单步调试,会跳过Call指令(单步步过)F7:单步调试,不会跳过Call指令(单步步入)堆栈图分析步骤:第一步:观察寄存器(ESP、......
  • 【Android逆向】滚动的天空中插入smali日志
    1.编写一个MyLog.java放到一个android工程下,编译打包,然后反编译拿到MyLog的smali代码packagecom.example.logapplication;importandroid.util.Log;publicclassM......
  • 黑猫web端signature参数逆向分析
    适合小白练手一、断点调试1.查找关键字2.分析nn是一个随机数16位u是固定参数u="$d6eb7ff91ee257475%"时间戳vard=(newDate).getTime()3.随机数生成o......
  • js逆向中常见加密/解密算法实现(js、python)
    常见加密、解密算法实现(JS、python)base64NodejsconstCryptoJS=require('crypto-js')//加密letpwd='密码'letb64_pwd=Buffer.from(pwd).toString('b......
  • Mybatis逆向工程
    Mybatis逆向工程Mybatis框架需要:实体类,自定义Mapper接口,Mapper.xml传统的开发中上述的三个组件都需要开发者手动创建,逆向工程可以帮助开发者自动创建三个组件,提高效率......
  • Mybatis17 - 逆向工程
    概念正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的。逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源:Java......