×
思维导图备注
逆向工程权威指南
首页
小程序
下载
阅读记录
书签管理
我的书签
添加书签
移除书签
编辑文档
4.1 为什么栈反向增长?
来源 1
浏览
681
扫码
分享
2020-06-05 21:33:30
4.1 为什么栈反向增长?
上一篇:
下一篇:
整理说明
Reverse engineering for beginners
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 典型的内存布局
5. printf() 与参数处理
5.1 x86: 3个参数
5.2 x64: 8个参数
5.3 ARM:3个参数
5.4 ARM: 8 arguments
5.5 by the way
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 得到除数
CPU简介
用FPU工作
15.1 简单实例
17.1 Specific bit checking
17.2 Specific bit setting/clearing
17.3 Shifts
17.3.1 x86
15.2 通过参数通过浮点数
15.3 对比实例
15.3.1 x86
15.4 x64
16.1 小例子
16.2 缓冲区溢出
16.3 防止缓冲区溢出的方法
16.5 Multidimensional arrays
结构体
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参数的传递,加法,减法
24.3 比较式的例子
24.4 总结
25.1 整数值
25.1.1 MSVC 2012 x86 /Ox
25.2 浮点数值
28.1反汇编于不正确起始位置(x86)
28.2不正确的反汇编代码的特点
28.3 代码的熵值
文本字符串
29.2 可执行代码
21.2 乘法,除法
29.3 虚拟机/伪代码
29.4 其它
30.1 例子#1
31.1
31.2 类继承
31.3 封装
31.4 多重继承
31.5 虚函数
21.3 右移
21.4从32位值转化为64位值
22.1 Vectorization
22.2 SIMD strlen() implementation
23.1 x86-64
23.2 ARM
23.3 浮点数字
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章
第57章
词汇表
第58章
第59章
第60章
第61章
第63章
第64章 传递参数的方法
64.1 cdcel
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
64.2 stdcall
64.3 fastcall
64.4 thiscall
64.5 x86-64
64.6 返回float和double类型的值
64.7 修改参数
64.8 使用指针的函数参数
65.1 线性同余发生器
第69章
第70章
第72章
第73章
Hello,world!
第85章
第86章
第87章
2.1 x86
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 为什么栈反向增长?
暂无相关搜索结果!
本文档使用
BookStack
构建
×
分享,让知识传承更久远
×
文章二维码
手机扫一扫,轻松掌上读
×
文档下载
请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
PDF
文档
EPUB
文档
MOBI
文档
×
微信小程序阅读
微信扫一扫,知识掌上学
×
书签列表
×
阅读记录
阅读进度:
0.00%
(
0/0
)
重置阅读进度