随笔分类 - 逆向学习
摘要:printf格式化字符串 基础知识 printf常见用法,前面是format,后面是匹配的参数。printf本身可以输入无限参数,即printf不知道参数个数,有格式化字符串%s,%d,%c等就到栈中去取参数。 printf("%s",s); 有一个特殊的格式化字符串%n,将前面的字符数量输入到参数
阅读全文
摘要:备注:BUUCTF在线评测 (buuoj.cn) rip checksec 使用,查看文件的加固机制 checksec filename#老版 checksec --file=filename #新版 **Arch:**程序架构信息 RELRO(relocation read-only):主要针对G
阅读全文
摘要:PE即Portable Executable,是Windows OS下使用的可执行文件格式。PE文件是指32位的可执行文件,亦称为PE32。64位的可执行文件称为PE+或PE32+,是PE文件的一种扩展形式。
阅读全文
摘要:攻防世界-RE-nostringattached 开始 使用查壳工具查看为32为EFL文件,未加壳。 使用IDApro分析代码,查看main函数,F5查看源码,发现只有 **authenticate();**函数有作用,继续查看。 很明显发现两个字符串加密就是flag,查看加密函数decrypt.
阅读全文
摘要:攻防世界-RE-logmein 先用Exeinfo查壳 显示为ELF文件,没有加壳(一个简单题)。如果加壳了就需要先脱壳。 放到IDA中查看代码 void __fastcall __noreturn main(int a1, char **a2, char **a3) { size_t v3; //
阅读全文
摘要:应用程序执行的入口 真正的入口 一般来看,我们认为main或者WinMain函数是程序执行的入口函数,但其实这是一种错误的认识。在main函数调用前编译器其实已经做了很多事情,main和WinMain也需要被调用才能执行,他们是语法规定的程序入口,而不是应用程序入口。(OD会开始的时候会停在应用
阅读全文
摘要:##C++逆向分析(二) 数据类型 布尔类型 占用1个字节,实际案例中难以将布尔类型数据还原成源码,用于真假判断。 地址、指针和引用 地址:只有变量才存在地址,常量没有地址(const 定义的伪常量有),一般地址用十六进制表示。在32位操作系统下,一般用32位二进制数表示,即4个字节,8个1
阅读全文
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #include<time.h> 5 typedef enum { true=1, false=0 }bool; 6 int She[8][4][16]={{14,4,13
阅读全文

浙公网安备 33010602011771号