CTF re逆向分析的点点滴滴
根据CTF-all-in-one和逆向工程核心原理等书籍整理学习
Lpy_Now
学计算机的普通人,写点自己学过的东西来记录自己的经过
展开
-
逆向工程核心原理笔记(六)——栈帧
逆向工程核心原理笔记(六)——栈帧1.栈帧栈帧是利用 EBP (栈帧指针)寄存器访问栈内的局部变量,参数,函数返回地址等等的手段,通过前面的学习可以了解到,ESP 寄存器承担着栈顶部指针的作用,EBP 寄存器负责行使栈帧指针的职能。在程序运行的时候,ESP 寄存器的值随时变化,访问栈中函数的局部变量,参数的时候,如果按照 ESP 的值为基准编写程序将会十分困难,并且很难使 CPU 引用带准确的地址,所以在调用某个函数的时候,需要先把 ESP 的值作为基准点保存到 EBP 中,并且维持在函数内部,这样无论原创 2020-05-17 21:42:53 · 691 阅读 · 0 评论 -
逆向工程核心原理笔记(五)——分析abex crackme-1
逆向工程核心原理笔记(五)——分析abex’ crackme#1下面我们将分析一个很简单的crackme小程序,从而进一步熟悉调试器和汇编代码,当然我们的目标不是进行crack(破解)而是加深汇编打吗和调试技术的认识。Abex’ crackme是一个著名的小程序,这是一个公开用作破解练习的小程序。首先我们先运行abex’ crackme#1这个程序:显示一个消息窗口,显示"Make me think your HD is a CD-Rom"消息。我们此时并不知道程序在这里是在干什么。于是我们点击确原创 2020-05-14 22:43:09 · 733 阅读 · 0 评论 -
逆向工程核心原理笔记(四)——栈
逆向工程核心原理笔记(四)——堆栈堆栈(Stack),是一种常用的数据结构类型名,我们可以将堆栈抽象为一种一个管子,我们可以向管子中投入豆子,那么很显然,最先投进去的豆子,一定是最后才能取出。堆栈有两种最基本的操作:压入(Push)和弹出(Pop): 压入:将数据放入堆栈顶端 弹出:将堆栈顶端的数据弹出堆栈的特点和队列的特点有所不同,堆栈中元素满足先入后出,后入先出的特点,并且除了头尾的节点之外,堆栈中每个元素都有一个前驱和一个后继。接下来我们通过在管子中存取豆子来理解什么是堆栈:首先我们原创 2020-05-09 19:53:34 · 452 阅读 · 1 评论 -
逆向工程核心原理笔记(三)——IA-32寄存器
逆向工程核心原理笔记(三)——IA-32寄存器英特尔 32 位架构:IA-32(Intel Architecture, 32-bit缩写为 IA-32),通常被称为 i386,或 x86,是由英特尔公司于 1985 年推出的指令集架构,它是 8086 架构的延伸版本,可以支持 32 位运算,被首次运用在 Intel 80386 芯片中。CPU寄存器首先我们来了解什么是 CPU 寄存器:寄存器是 CPU 内部用来存放数得一些小型存储区域,和常说的 RAM(内存)略有不同,CPU 访问 RAM 中的数据的原创 2020-05-08 21:56:19 · 665 阅读 · 0 评论 -
逆向工程核心原理笔记(二)——小端序标记法
逆向工程核心原理笔记(二)——小端序标记法字节顺序,又被称为端序或者是尾序,在计算机科学领域中,这存储器中或在数字通信链路中,组成多个字节的字的字节的排列顺序。在几乎所有的机器上,多字节的对象都被存储为连续的字节序列,例如在 C 语言中,一个类型为 int 的变量 x 的地址为 0x100,那么其对应的指针为 &x = 0x100,并且 x 的四个字节将被存储在内存的 0x100,0x...原创 2020-05-07 22:15:38 · 564 阅读 · 0 评论 -
逆向工程核心原理笔记(一)——Hello World-2
逆向工程核心原理笔记(一)——Hello World-2接下来我们尝试修改程序的内容打补丁在代码逆向分析的过程中,“打补丁”的操作是重要的内容,“打补丁”不仅可以修复已有程序中的Bug还可以向程序中添加新功能。其对象可以是文件,内存,甚至是程序的代码和数据。接下来我们尝试将MessageBox中的字符串修改为其他的字符串。接下来介绍修改字符串的两种方法:修改字符串缓冲区现在程序中找到字...原创 2020-05-06 22:26:38 · 515 阅读 · 0 评论 -
逆向工程核心原理笔记(一)——Hello World-1
逆向工程核心原理笔记(一)——Hello WorldOllydbg调试器指令指令快捷键含义Go toctrl + G移动到指定地址,用来查看代码或内存,运行时不可用Execute till CursorF4执行到光标位置,也就是直接转到要调试的地址Set/Reset Break PointF2设置或者取消断点Comment;添加注释...原创 2020-04-25 23:17:09 · 2106 阅读 · 0 评论