×
思维导图备注
初学者逆向工程(Reverse Engineering for Beginners)
首页
白天
夜间
小程序
阅读
书签
我的书签
添加书签
移除书签
4.2 栈可以用来做什么?
来源:beginners.re
浏览
607
扫码
分享
2020-10-28 21:07:26
4.2 栈可以用来做什么?
4.2 栈可以用来做什么?
当前内容版权归
beginners.re
或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问
beginners.re
.
上一篇:
下一篇:
Reverse engineering for beginners
说明
源起
修缮计划
任务分配计划
贡献名单
Copyright
最后
CPU简介
词汇表
Hello,world!
2.1 x86
2.1.1 MSVC-x86
2.1.2 GCC-x86
2.1.3 GCC:AT&T 语法
2.2 x86-64
2.2.1 MSVC-x86-64
2.2.2 GCC-x86-64
2.3 ARM
2.3.1 未进行代码优化的Keil编译:ARM模式
2.3.2未进行代码优化的Keil编译: thumb模式
2.3.4 开启代码优化的Xcode(LLVM)编译thumb-2模式
3.1 递归
4.1 为什么栈反向增长?
4.2 栈可以用来做什么?
4.2.1 保存函数返回地址以便在函数执行完成时返回控制权
4.2.2 传递函数参数
4.2.3 局部变量存放
4.2.4 x86: alloca() 函数
4.2.5 (Windows) 结构化异常处理
4.2.6 缓冲区溢出保护
4.3 典型的内存布局
Chapter 5 printf() 与参数处理
5.1 x86: 3个参数
5.2 x64: 8个参数
5.3 ARM:3个参数
5.4 ARM: 8 arguments
5.5 by the way
Chapter 6 scanf()
6.1 关于指针
6.2 x86
6.3 x64
6.4 ARM
6.5 Global Variables
6.6 scanf()结果检查
访问传递参数
7.1 X86
7.2 X64
7.3 ARM
一个或者多个字的返回值
9.1 Global variables example
9.2 Local variables example
9.3 小结
条件跳转
10.1 x86
10.2 ARM
选择结构switch()/case/default
11.1 一些例子
12.1 x86
12.2 ARM
12.3 更多的一些事情
strlen()
13.1 x86
13.2 ARM
除法
14.1 x86
14.2 ARM
14.3 工作原理
14.4 得到除数
用FPU工作
15.1 简单实例
15.2 通过参数通过浮点数
15.3 对比实例
15.3.1 x86
15.4 x64
16.1 小例子
16.2 缓冲区溢出
16.3 防止缓冲区溢出的方法
16.5 Multidimensional arrays
17.1 Specific bit checking
17.2 Specific bit setting/clearing
17.3 Shifts
17.3.1 x86
结构体
18.1 SYSTEMTIME 的例子
18.2 让我们用malloc()为结构体分配空间
18.3 结构体tm
18.4 结构体的成员封装
18.5 嵌套结构
18.6 结构体中的位
联合体
19.1 伪随机数生成器的例子
20.1 MSVC
20.2 GCC
在32位环境中的64位值
21.1参数的传递,加法,减法
21.2 乘法,除法
21.3 右移
21.4从32位值转化为64位值
22.1 Vectorization
22.2 SIMD strlen() implementation
23.1 x86-64
23.2 ARM
23.3 浮点数字
24.3 比较式的例子
24.4 总结
25.1 整数值
25.1.1 MSVC 2012 x86 /Ox
25.2 浮点数值
28.1反汇编于不正确起始位置(x86)
28.2不正确的反汇编代码的特点
28.3 代码的熵值
文本字符串
29.2 可执行代码
29.3 虚拟机/伪代码
29.4 其它
31.1
31.2 类继承
31.3 封装
31.4 多重继承
31.5 虚函数
ostream
STL
33.1 std::string
33.1.2 std::string 作为全局变量使用
33.2 std::list
33.3 C++ 11 std::forward_list
33.4 std::vector
33.5 std::map and std::set
V 寻找代码中有趣或者重要的部分
第55章
识别可执行文件
第56章
与外部世界通信(win32)
第57章
字符串
第58章
调用assert
第59章
常量
第60章
寻找合适的指令
第61章
可疑的代码模式
第63章
其他
64章 传递参数的方法
64.1 cdcel
64.2 stdcall
64.3 fastcall
64.4 thiscall
64.5 x86-64
64.6 返回float和double类型的值
64.7 修改参数
64.8 使用指针的函数参数
65.1 线性同余发生器
66.1 Linux
66.2 Windows
67.1 位置无关代码
67.2 LD_PRELOAD hack in Linux
68.1 CRT(win32)
68.2 Win32 PE
68.3 Windows SEH
68.4 Windows NT: Critical section
第69章
反汇编器
第70章
调试器
第72章
反编译器
第73章
其他工具
简单异或加密
第85章
Millenium 游戏存档文件
第86章
Oracle RDBMS: .SYM-files
第87章
Oracle RDBMS:.MSB-files
暂无相关搜索结果!
本文档使用
BookStack
构建
×
分享,让知识传承更久远
×
文章二维码
手机扫一扫,轻松掌上读
×
文档下载
普通下载
下载码下载(免登录无限下载)
你与大神的距离,只差一个APP
请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
PDF
文档
EPUB
文档
MOBI
文档
温馨提示
每天每在网站阅读学习一分钟时长可下载一本电子书,每天连续签到可增加阅读时长
下载码方式下载:免费、免登录、无限制。
免费获取下载码
下载码
文档格式
PDF
EPUB
MOBI
码上下载
×
微信小程序阅读
您与他人的薪资差距,只差一个随时随地学习的小程序
×
书签列表
×
阅读记录
阅读进度:
0.00%
(
0/0
)
重置阅读进度