补充
这篇最后编辑时间是19年12月。。我居然鸽子了这么久没发!!!
看了下自己大致讲的很详细了,文章后面应该想着自己手绘图然后再多来几个函数调试,不过既然鸽子了就炖汤吧,这篇就不补上了。
准备在闭关学pwn第五天把第三天和第四天两篇文章的内容结合起来,搞一道题来练手什么的[滑稽]
前言
pwn现在卡死在ret2libc,知道是返回,却不懂怎么返回,也不知道怎么搞到shellcode,估计是没有相应基础,所以这回补一波pwn中需要掌握的汇编指令。
———————————————————————————————————
一 、开天辟地
没错我就是来开天辟地的。
首先……
move push add 这些基础指令肯定要看看的吖
不过pwn里好像需要用到的是这些指令:
子程序
算术指令
通用数据传送指令
比较指令
栈的结构在闭关学pwn第一天了解过
pwn里最常见的ebp和esp肯定要了解
当时只是学到了栈由高地址向低地址生长,却从没想过为什么要这样
这篇文章里有讲到
https://www.jianshu.com/p/899f34722d57
———————————————————————————————————
二 、女娲补天
开天辟地完了就该女娲补天了
刚才都是理论,这里实际操作一下
gcc编译配合gdb调试还不大熟练
所以就花点功夫找了个在线查看汇编代码的网站
先简单练练手来验证之前的汇编指令
写一段最最最最最简单的代码吧
int main()
{
int a,b

本文深入探讨PWN技术中关键的汇编指令,包括子程序、算术指令、通用数据传送指令和比较指令,解析栈的结构与工作原理,通过实例讲解push、pop、call等操作,适合PWN初学者快速掌握基础知识。
最低0.47元/天 解锁文章
1604





