- 博客(12)
- 收藏
- 关注
原创 【无标题】
1.主机字节序 (1)概念:主机字节序又叫做CPU字节序,其不是又操作系统决定的,而是由CPU指令集架构决定的(2)分为两种:大端字节序:高序字节储存在低位地址,低序字节储存在高位地址小端字节序:高序字节储存在高位地址,低序字节储存在低位地址(3)储存方式:如0x12345678,其中78为低序字节,12为高序字节内存地址 0x00(低地址) 0x01 0x02 0x03(高地址) 大端字节序 12 34 56 78 小端字节序 78 56 34 12。
2024-11-18 21:36:17
1255
原创 对于VA,IMAGEBase,RVA,FA介绍
假设一个程序已经被放到了内存中的某个起始位置(也就是装载基址),那么程序里面的一些部分(比如代码段、数据段等)相对于这个起始位置的偏移量就是相对虚拟地址。可执行文件在硬盘上存储时具有特定的文件结构和数据布局,当操作系统将其加载到内存中运行时,会选择一个合适的内存地址作为该文件的起始加载位置,这个起始地址就是 ImageBase。电脑里的程序运行时,操作系统会给这个程序分配一块虚拟的空间让它使用,在这个空间里的每一个位置都有一个地址,这就是虚拟地址。它是文件在存储介质中的偏移量,用于标识文件中的特定位置。
2024-11-18 21:01:57
509
原创 pe头和dos头
根据DOS头的e_lfanew成员我们就可以找到NT头,NT头的第一个成员是”PE\0\0”(0X50 0X45 0X00 0X00四字节的签名,可以在上图00000100H地址处观察),后两个成员则分别是标准PE头(IMAGE_FILE_HEADER)和可选PE头(IMAGE_OPTIONAL_HEADER)。3.一个exe文件本身是一个PE文件,但是由于包含dll库,所以一个exe文件也是许多PE文件组成的(包含多个dll)一个PE文件。分块的一个原因是节省硬盘,而分块的另一个目的是节省内存空间。
2024-11-18 20:50:32
633
原创 11.11学习
先把文件脱到pyc文件夹里,输入cmd,输入指令,得到如下结果发现文件中多了一个_extracted文件夹,打开 ,去里面找到"目标文件名.pyc"的文件【生成py文件,实现反编译】 这一步实现pyc文件转化为py源码。
2024-11-11 21:19:22
274
原创 11.5学习记录
修改名字为1,php放于桌面,把这个拖入WWW文件中,然后和1.的操作一样,搜索1,php即可找到且打开,显示就是helloworld。1.打开php 网站 点击右侧管理 找到打开根目录,把upload-labs拖进去,此时是一个WWW目录,接下来把该文件拖进去,回到php管理打开网站,此时输入/upload-labs即可打开。URL是对互联网上得到的资源的位置和访问方法的一种简洁表示,是互联网上标准资源的地址。是一种用于创建网页的标准标记语言,使用标准语言描述网页的语言和结构。
2024-11-05 21:41:32
281
原创 11.3学习
--------- 四、串指令 -------------------------------------------------------------------- 二、算术运算指令 -------------------------------------------------------------- 三、逻辑运算指令 ----------------------------------------------------把段地址:偏移地址存到ES:DI.把段地址:偏移地址存到FS:DI.
2024-11-03 22:02:27
1917
原创 11.1学习记录
这就叫ESP平衡定律,因此我们只要找到ESP两次值相同的时候,也就是对ESP进行追踪,ESP指针归为的那一刻,就是找到了EP(入口点)因此此时保存的sp寄存器里的值到最后解密完成后会回到最初的值,因此对这里的ESP进行追踪即可。2、将文件转到upx中 ==输入cmd,在输入upx -d +文件名==(脱壳)软件upx脱壳(以ctf比赛“我感冒了”为例,以及ctf练习赛“新年快乐”)1. 在解密完成之后esp寄存器里的值会变回最初的值。结束了 这篇文章利用了esp守恒定律对upx进行脱壳。
2024-11-01 21:48:17
274
原创 10.31学习记录
pusha/pushad将通用寄存器的数据压栈,寄存器的数据以AX, CX, DX, BX, original SP, BP, SI, and DI(EAX, ECX, EDX, EBX, original ESP, EBP, ESI, and ED)的顺序进栈,popa和popad可以执行与之相反的操作。5.压缩壳:压缩壳的作用是压缩程序的大小,并不会对程序造成影响而是改变了存储方式,运行程序时先运行壳的解压缩程序,解压源程序到内存中,然后执行程序一般可以压缩到原来体积的30%加密壳:保护程序不被破解。
2024-11-01 21:46:21
271
原创 10.29学习
栈 这种内存空间其实本质上有两种操作:将数据放入栈中和在栈中取出数据,相对应的我们管这两种操作叫做入栈和出栈,而栈顶的元素总是最后入栈,需要出栈时又最先被取出的现象我们将其称为LIFO。4) 被调函数通过修改栈顶指针的值,为自己的局部变量在运行时栈中分配内存空间,并从帧基指针的位置处向低地址方向存放被调函数的局部变量和临时变量。在call指令和ret指令中,call转移指令临时地将吓一跳指令所在的地址保存了栈中栈顶位置,再通过ret指令从栈顶将保存的指令拿出。6. 他们指示CPU当前要读取的指令的地址。
2024-10-29 21:19:22
443
原创 10.28.2024学习内容
但这个并不对,因为上面的不是真密码,欲得真密码则需要把123那串数和22异或,接下来写一组脚本破解。第10到15行加上27行为一个函数的调用 到了最上面(10-15行)则会变成a,且a称为行参。补:ida里面的东西要是想修改名称应该选中以后ctrl+N。
2024-10-28 22:21:23
1487
原创 10.27学习内容
2>用shift F12找到flag 点ctrl x进去 点tab看一下。先在exeinfope中查壳,发现无壳后丢进ida里。把输入的东西加密进行调试,或者倒着往回走:静态调试。有的文件点进去就能看见灰色字体即所求的flag。1>先用info查是否脱壳,接下来拖入ida中。1.异或的操作:相同为0;注:点进去以后点esc tab可以回去。且异或是一个可逆的过程。
2024-10-28 22:18:41
190
原创 今日学习10.24
接触逆向的第一天,我没有能力打开ida去接上教程看个文件,因为我不知道什么文件可以被ida杰西,我过得不太好,我想看堆栈 linux指令 可是我看不懂,为说明这么多中文字加在一起我就不认识了呢 好奇怪,但我希望逆向这条路漫漫亦灿灿。
2024-10-24 20:53:39
136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅