吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14780|回复: 38
收起左侧

[调试逆向] 小白的反汇编学习笔记----关于调用call前后的堆栈知识

  [复制链接]
mazhaoyang01 发表于 2019-7-13 15:50
本帖最后由 mazhaoyang01 于 2019-7-16 13:13 编辑

反汇编的过程中被两个寄存器搞晕了
以下仅为个人理解,小白刚开始学习,有任何不正确的希望大家和各位老师及时指正。

栈的意义:
1.某子函数进入前,必须搞到一块栈空间,用于存放自己的参数/数据/变量(临时变量)
2.子函数与父程序之间的参数传递,必须通过栈传递参数(父程序将需要处理的参数传给子函数,子函数也需要将处理完的参数传回给父程序),win32中,栈的使用遵循“先进后出”
ps:全局变量在哪里?在PE程序(exe/dll/sys)的数据段。

esp(栈顶指针寄存器)
ebp(栈底指针寄存器)
通过对比不同老师的学习视频,和查找相关资料,根据自己的理解总结了四张图

那么了解这个东西有什么作用呢?
目前我学习到的有,通过判断函数内部开辟栈空间的大小,判断程序动作,典型的有:
某些吃鸡类游戏中,当对局开始时,游戏开辟一块栈空间(固定大小)用于存放游戏某些数据,例如当栈空间为某某大小时,可以判定对局开始。
同时,通过栈底指针    ebp-”xxxx“(形象点就是从ebp往上数格子)的方式,还可访问栈内数据。
如,当访问到人物数据时,可根据人物数据完成人物透视功能的实现。



函数调用前

函数调用前

函数调用时

函数调用时

函数调用后

函数调用后

call内部结构

call内部结构

免费评分

参与人数 10吾爱币 +12 热心值 +8 收起 理由
Truama + 1 + 1 非常感谢!!清晰明了,困扰我好久了。
阿露嘉 + 1 + 1 我很赞同!
litanyue + 1 我很赞同!
黑肩 + 1 谢谢@Thanks!
zdlzyw + 1 谢谢@Thanks!
C__K + 1 我很赞同!
willJ + 6 + 1 期待楼主更多的分享
海天一色001 + 1 + 1 我很赞同!
ilpj + 1 谢谢@Thanks!
ttd_2001 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| mazhaoyang01 发表于 2019-7-14 19:13
sqhs008 发表于 2019-7-14 08:47
沒有了嗎?

學習筆記不應該是從第一課到最後多少課的嗎?

学习过程中遇到复杂和难点,将思路整理后,通过笔记和帖子的形式整理出来,利于记忆,和加深理解。一个知识,倘若你能向别人表达清楚,给他人解释和教导,说明学习效果显著
 楼主| mazhaoyang01 发表于 2019-7-13 18:37

并不是od教程哦,这些知识是汇编知识,但od使用过程中本身就是理解反汇编代码。
同时这些知识对大佬或者真正有汇编基础的人来说,是常识
但是对小白和入门者来说,堆栈的相关知识会把人绕的晕晕的,如果不把它详细的讲出来,会有很多人一知半解,写下这个帖子,一个作为学习笔记,另外还可以给以后新人学习者提供经验
寂寞日落 发表于 2019-7-13 16:15
 楼主| mazhaoyang01 发表于 2019-7-13 16:20

共同学习!共同进步!
yaphoo 发表于 2019-7-13 16:52
谢谢分享,学习了!
无为无敌 发表于 2019-7-13 16:54
最基础的OD教程
又红又专 发表于 2019-7-13 21:07
这个是滴水逆向吧....
zjg1727 发表于 2019-7-13 21:30
很基础,非常适合新手。谢谢分享。
有时候好像用EBP+4、EBP+8来进行一些操作,这块有学习笔记吗?
冥界3大法王 发表于 2019-7-13 21:49
zjg1727 发表于 2019-7-13 21:30
很基础,非常适合新手。谢谢分享。
有时候好像用EBP+4、EBP+8来进行一些操作,这块有学习笔记吗?

这就是api函数的堆栈的参数
Rnb。 发表于 2019-7-14 08:32
感谢分享。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-3-29 20:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表