2024 RCTF writeup by Arr3stY0u (qq.com)
dir和help可以查看导出的对象
1234567891011import check_secrethelp(check_secret)#可通过hook对应的返回值和参数,查看对应进行的操作def hook(func,name): def func_hook(a,b): res=func(a,...
调用步骤
graph TB;
subgraph init_array
A[手动声明的构造函数]-->B[带自定义类的静态变量]
end
B-->C[JNI_Onload]
手动声明的构造函数
会自动填充在init_array里,按声明顺序依次排布
声明方法:
123__attribute__((constructor)) void funcname(void){ ...
two_squares(n)
类似p^2+q^2的问题求解
可化成复数域的平方差
(p-iq)*(p+iq)
彻底搞清楚 GOT 和 PLT - 简书 (jianshu.com)
gradle
只需要在build.gradle
12345678910111213141516171819202122232425262728293031323334353637383940414243444546plugins { id 'com.android.application'}android { namespa...
主要利用printf("用户输入")达成任意地址读写
写入主要使用 %n占位符(将该占位符之前的字符数输出到对应地址)
占位符
字节数
%lln
8
%n
4
%hn
2
%hhn
1
再结合%数字$占位符
例如
%2$s 指的就是第二个参数当作s输出
结合这两个,如果我要写入一个’a’(0x61)到对应地址0x12345678,假设此...
pwndbg 基本操作指令 - MuRKuo - 博客园 (cnblogs.com)
动态分析工具 - 2.3.1 GDB - 《CTF 竞赛入门指南(CTF All In One)》 - 书栈网 · BookStack
free后的堆块管理根据不同情况使用不同的bin链
堆漏洞挖掘中的bins分类(fastbin、unsorted bin、small bin、large bin)-CSDN博客
已经申请的堆结构类似于下面
12345678910111213141516171819202122struct chunk{ size_t prev_size; union { ...
os.path.join
以最后出现/的字符串为基地址
open函数原型
12int openat(int dirfd, const char *pathname, int flags);int openat(int dirfd, const char *pathname, int flags, mode_t mode);
fd参数如下
Linux 内核:include/uapi/linux/fcntl.h 文件参...