reverse
文章平均质量分 87
woodwhale
www.woodwhale.cn
展开
-
【PE】inline hook的实现
学习一下inline hook原创 2023-04-23 14:38:38 · 658 阅读 · 0 评论 -
【Reverse】2022 强网杯 game
复现一下强网杯的game原创 2022-08-13 11:27:58 · 460 阅读 · 1 评论 -
【Frida】Frida的初次尝试
玩玩frida原创 2022-08-13 11:11:42 · 903 阅读 · 1 评论 -
【reverse】2021 极客大挑战(部分)
【reverse】2021 极客大挑战(部分)1、调试0x1什么?得安装linux虚拟机?像我这种直接用ubuntu系统的根本不虚!0x2尝试直接运行,未果拖入ida中分析,先看main上来就比较字符串,然后返回,v4是栈里的变量,初始化为0,必然不等于后面的字符串看看汇编,发现了端倪如果不相等就去loc_14A0这个函数,发现这个函数直接退出了,没啥用我们看看如果想等跳转的函数loc_14551。怎么说都比上面退出的函数正常吧。0x3到这里我们想直接调用到loc_14原创 2021-11-29 12:54:08 · 3690 阅读 · 0 评论 -
【reverse】逆向7 堆栈图
【reverse】逆向7 堆栈图前言本章就是开始画堆栈图来打基础拉,堆栈熟悉了之后就可以开始C语言的逆向了。这一章使用的exe文件,我已经上传到了我的个人网盘中,点击下载1、准备工作先看这张内容我们首先打开OD,使用F3打开helloworld.exe程序然后在任意位置,ctrl+G打开窗口,输入0x401168地址,然后点击OK,自动跳转到这里然后在这个地址上打一个断点(F2)然后我们F9运行,让程序运行到这里然后就是我们画堆栈图的时候了2、画堆栈图我们先在OD上看esp栈顶原创 2021-08-01 22:04:21 · 3652 阅读 · 1 评论 -
【reverse】逆向6 JCC
【reverse】逆向6 JCC前言我们之前学习的时候讲了,eip寄存器存储的是当前(即将执行的语句的) 指向地址而我们之前提到的下断点(F2),就和我们编程中的下断点一样,执行到某句汇编指令然后停住今天的课程的别名又叫作《修改eip》1、JMP指令JMP指令的作用类似于mov的作用,只不过mov不用用于eip寄存器,我们要通过jmp指令来操作eip寄存器并且JMP指令只能作用于eip寄存器如果我们跳转的位置距离当前位置小于128个字节,会加上short的关键字如果大于128那么就不会写原创 2021-08-01 13:32:51 · 3455 阅读 · 0 评论 -
【reverse】逆向5 标志寄存器
【reverse】逆向5 标志寄存器1、引言通过一个creak.exe文件的爆破,引出现阶段需要学习的知识2、标志寄存器标志寄存器有上图这么多个记住这几个寄存器的位置和名称下面是6个状态标志位1.进位标志CF(Carry Flag)如果运算结果的最高位产生了一个进位或者借位,那么其值为1,否则为0做个实验我们先给eax一个5555FFFF的数据,然后再加1然后将c变成0运行这两句汇编发现eax虽然进位了,但不是最高位进位,因为eax是32位的我们再试一试al把所有标原创 2021-08-01 08:24:08 · 3459 阅读 · 0 评论 -
【reverse】逆向4 初识堆栈
逆向4 初识堆栈1、引入假设我们需要一块内存,有如下的要求主要用于临时存储一些数据(如果数据很少可以放入寄存器中)能够记录存了多少数据能够非常快速的找到某个数据2、模拟堆栈我们可以设计这样的结构图top:栈顶base:栈底windows操作系统分配堆栈是从高地址向低地址分配为了统一,我们也这样模拟压入数据第一种添加数据的方式(先存数据再改地址)我们将ebx作为栈底,edx作为栈顶,内存编号都位0x19FF78将AAAAAAAA数据存入栈中之后,将edx的内存编号减去4原创 2021-07-31 21:37:28 · 3537 阅读 · 0 评论 -
【reverse】逆向3 寻找地址
【reverse】逆向3 寻找地址寻址公式一:[立即数]读取内存的值:mov eax,dword prt ds:[0x13FFC4]将内存编号为0x13FFC4、0x13FFC5、0x13FFC6、0x13FFC7的数据写入eax中向内存中写入数据mov dword prt ds:[0x13FFC4],eax将eax的数据写入内存编号为0x13FFC4、0x13FFC5、0x13FFC6、0x13FFC7中获取内存编号lea eax,dword ptr ds:[0x13FFC4]le原创 2021-07-31 14:23:58 · 3566 阅读 · 0 评论 -
【reverse】逆向2 寄存器与内存
【reverse】逆向2 寄存器与内存1、通用寄存器主要用途其实没必要记下来,因为只是CPU建议你这么做。寄存器需要按照顺序被下来32位就是可以存32个0或1所以存储范围就是0~0xFFFFFFFF16位通用寄存器,名称就是32位通用寄存器少了一个E8位寄存器AL CL DL BL AH CH DH BH 其中的L表示LOW,低位,H表示HIGH,高位寄存器的样子长这样,AX本身就在EAX里面,CX本身就在ECX里面…AH是AX中的高位部分,AL是AX中低位部分…2、使用OD认识原创 2021-07-31 10:52:15 · 3478 阅读 · 0 评论 -
【reverse】逆向1 数据宽度
【reverse】逆向1 数据宽度前言感觉学逆向的都是大佬,正好最近在看java视频的时候,发现讲课的老师居然是从逆向行业转行来的,顿时肃然起敬。于是想在暑假的最后发光发热,把逆向的基础知识学习稳固一下!学习是跟着b站的滴水逆向学习的1、前置知识数学上的数字是没有大小限制的,可以无限大但是计算机中,受到硬件的制约,数据都是有长度的计算机中有很多容器,这些容器来装数据如果容器存不下,计算机直接扔掉4位宽度4位宽度表示:假设计算机只能存储4位2进制数按照这张图,如果我原创 2021-07-30 23:43:35 · 3402 阅读 · 0 评论