- 博客(13)
- 收藏
- 关注
原创 1月14日 笔记
1.进制二进制整数的每个数个位都是二的幂次方,最低位是二的零次方,eg:10101,从右往左为零次方,一次方,二次方,三次方,四次方,相加,所以10101=21。2.数据宽度数据在存储器中的存储尺度。计算机中数据宽度指:数据在存储器中的存储尺度。数据基本储存单位为字节byte,B。一字节占八位,位是计算机存储的最小单位,但不是基础单位。计算机都是一字节一字节去储存。其它储存单位:word(字) dword(双字)qword(八字节)3.数值的表示范围有多少位,便有2的多少次。
2025-01-15 00:42:14
534
原创 第4周 4
(1)概念:主机字节序又叫做CPU字节序,其不是又操作系统决定的,而是由CPU指令集架构决定的。内存地址 0x00(低地址) 0x01 0x02 0x03(高地址)大端序是指一个整数的高位字节(23-31bit),低位字节(0-7bit)(3)储存方式:如0x12345678,其中78为低序字节,12为高序字节。大端字节序:高序字节储存在低位地址,低序字节储存在高位地址。小端字节序:高序字节储存在高位地址,低序字节储存在低位地址。内存中存储或者网络传输时各字节的存储顺序。
2024-11-19 16:03:37
235
原创 第四周 3
MAGEBase(基地址):PE文件被加载到内存后,内存中的版本成为模块(Module),映射文件的起始地址被称为模块句柄(hModule),内存处的初始内存地址也被称为基地址(IMAGEBase)。节表(就是那个区)上面我们看了是.text 也就是代码区,正好是属于第一个节表,那么看第一个节表中的PointerToRawData成员即可.是虚拟地址,但也是实际的内存地址,也就是PE文件程序被加载到内存中的地址。模块地址,就是exe加载到内存的时候,所在的地址,在OD中的内存中查看就是PE头。
2024-11-18 15:26:41
446
原创 pe头 dos头
在PE(Portable Executable)文件格式中,DOS头是文件最开始的部分。它是为了保持对DOS操作系统的兼容性而保留的。- DOS头的大小固定为64字节,其中最重要的是开头的两个字节,其值为“MZ”- 它包含了一个指向PE头的偏移量(在偏移3Ch处),这个偏移量能够帮助程序找到真正的PE文件头的位置,因为PE文件在被加载和执行时,系统首先读取DOS头,通过其中的偏移量找到PE头,进而开始解析整个PE文件的结构来加载和运行程序。
2024-11-17 23:38:28
777
原创 Nssctf 10
真的不是很明白这种题型,在网上找了篇大佬的文章,首先先要明白它的加密方式,只有正向理解才能逆向写脚本。不会了还是得看看别人的思路与做法。要一步一步分析,以及语法的用法。
2024-11-16 22:08:48
153
原创 Nssctf 8,9
从这个形式可以看出这是一个base64解密,但是在网上找到的网站解密出来却是乱码。从这形式可以看出这是一个base64解密,从网上找一个解密网站即可。然后我自己写了一个base64解密,改了码表编译就好了。再往下翻可以看到一串字符串,判断这是一个自定义码表。
2024-11-16 12:10:42
1030
原创 Nss 6
并且我们可以看出这事一个url解密,只需将quote前加un即可,最后将print中应该输出的变量填入调试就能求出答案。crypt,enc是加密和解密,加密后再解密就想当啥都没干,所有直接忽略即可。中间两个for循环是为了求出K,而K是为了去异或,所以不需要在意。
2024-11-15 21:53:42
243
原创 Nssctf 5
这个re2刚开始和re1一样先将数字转化为字符串,因为大小端的问题按y输入char【50】图中能看出这是一个加密过程,只要将for循环反过来该为下图中的形式进行解密即可。从评论区知道得到的flag需要将{换为a。
2024-11-10 14:05:04
152
原创 Nssctf 1
刚开始进入伪代码的时候stecpy并不为图中的样子,我在网上查到是大小端的问题,可以点击str2。然后根据下面的循环先将数字按r转换后可以知道将str2中的3换为e,4换为a,即为答案。后按Y输入char[50]就可以转化为途中的形式。
2024-11-10 13:28:16
246
原创 第一周笔记
寄存器是处理器加工数据或运行程序的重要载体,用于存放程序执行中用到的数据和指令。因此函数调用栈的实现与处理器寄存器组密切相关。%eax、%ebx、%ecx和%edx,各自可作为两个独立的16位寄存器使用,而低16位寄存器还可继续分为两个独立的8位寄存器使用ESP(Stack Pointer)是堆栈指针寄存器,存放执行函数对应栈帧的栈顶地址(也是系统栈的顶部),且始终指向栈顶;EBP(Base Pointer)是栈帧基址指针寄存器,存放执行函数对应栈帧的栈底地址,用于C运行库访问栈中的局部变量和参数。
2024-10-28 23:50:38
957
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅