
汇编与逆向
文章平均质量分 76
A1ienX
这个作者很懒,什么都没留下…
展开
-
汇编–从数据类型看WORD与DWORD
刚接触汇编与逆向,记录一些学习笔记。源代码:IDA汇编代码:首先 1字=2字节 1字节=8位(8比特)=2位16进制var_6=dword ptr -6:ptr-6表示指针上移6个单位处,这里的单位是指计算机的寻址单位,一般按字节寻址,[EBP+var_6]就表示EBP-6个字节的地址处。DWORD 表示双字,是对存入数据的说明。双字=4字节,也就是8位16进制,也就...原创 2018-11-04 19:30:49 · 10078 阅读 · 0 评论 -
汇编–一个rep stosd循环的简单理解
源代码:IDA汇编代码:rep stosd循环:从lea edi , [EBP+arg_0] 开始,到rep stosd 结束。EDI中存入的是循环操作的起始地址,ECX存入的是循环次数,EAX是循环填入的值。这一段的操作就是从EBP+var_40处开始,循环十次,向下依次填入CCCCCCCC,写入的长度由EAX决定,32位。OD动态调试:初始状态:EDI赋值:...原创 2018-11-05 14:56:41 · 3732 阅读 · 1 评论 -
jarvis oj level2–两种方式构造函数栈
关于这个level2,在网上找到了两种解法,放在一起分析了一下。首先查看题目基本信息:程序开启了栈不可执行保护。IDA查看反汇编代码:可以看到存在栈溢出,并且程序调用了system函数。所以我们的思路就是构造vulnerable_function()的buf变量,使得:返回地址被覆盖为system函数的地址,构造system函数的栈帧,并为system传递参数’/b...原创 2019-04-07 17:19:45 · 657 阅读 · 2 评论 -
jarvis oj level3/level4--多种解法实现ret2libc
level3和level4都是ret2libc的典型题目,只不过level3给了libc文件而level4没有给。这里以leve3为例,使用多种方式实现ret2libc一,使用给定的libc文件,计算偏移地址整体思路就是通过首先泄露处libc中某个函数运行时的实际地址,再通过给定的libc文件计算出system函数的实际地址,跳转到system函数执行基础原理:http://ww...原创 2019-04-09 12:49:21 · 862 阅读 · 1 评论