枸杞蒲蒻blog

学无止境.

pwn 资料

pwn 资料

收集的资料 ctf wiki https://ctf-wiki.github.io/ctf-wiki/pwn/ ROP linux x86 https://zhuanlan.zhihu.com/p/23487280 ROP linux x64https://zhuanlan.zhihu.com/p/23537552 Linux堆内存管理深入分析 1 https://zhuanlan.zhi...

linux main 函数执行的宏观过程

linux main process

程序main的出生到死亡 linux ELF程序的执行当然是从_start函数开始执行的啦,但是我们一般编写main函数的时候却是直接在main函数中进行我们的编程工作。下面让我们来分析一下大体的执行过程。 Glibc 的入口实现 void _start() {   %ebp = 0;   int argc = pop from stack   char ** argv = top of s...

android native so reuse

standard JNI so reuse

实验成功记录 首先我们要设置好Android Studio让它能够正常的访问它的仓库。 接着我们要在gradle.properties里添加以下属性 android.useDeprecateNdk = true 接着我们要在build.gradle(Module:app)里的android{…….}里添加以下属性 sourceSets{ main{ ...

android debug tricks

android debug tricks

安卓软件调试技巧 我一般使用网易的沐沐模拟器,但是arm架构的apk还是使用真机来进行调试,妥善安装Android Studio即可。 一般使用一下代码生成证书 keytool -genkeypair -v -keystore xample.keystore -alias publishingdoc -keyalg RSA -keysize 2048 -validity 10000 之后再...

linux short read

short read

实验记录 今天在调试程序的时候遇见了玄学的bug, linux short read, 直译过来就是短读. 一般来说我们在使用read函数时,read函数的返回值为读取到的字节数,read是允许返回的字节数少于你传参字节数,所以这样就会产生短读。一般而言我们的计算机的磁盘文件系统使用的是不可中断的read操作,所以我们很少在本地的文件系统中碰见短读操作。比如你在使用NFS(network f...

linux signal

linux signal

linux signal machenism linux 支持posix reliable signals 和 posix real-time signals linux signal 规定 每个signal都有自己的规定,规定他们在信号被送达时候进程该如何反应。有一些signal 有他们默认的行为,Term 终止当前进程,Ign 忽略当前信号,Core 终止进程生成dump文件,Stop ...

shellcode生成

shellcode

shellcode的生成 我们在练习pwn的时候如果有可写可执行的段即可直接在shellcode-storm上直接搜索到,如果有条件限制可以使用msf的msfvenom生成工具生成,zhiyishellcode的使用条件。最次的情况就是自行叠rop链然后再进行相关的操作。

linux-x86-syscall-table

x86-syscall-table

x86-linux-syscall-table # Name Registers Definition eax ebx ecx edx esi edi ...

x86-64-linux-syscall-table

syscall table

linux x86-64-syscall-table %raxSystem call%rdi%rsi%rdx%r10%r8%r9 0sys_readunsigned int fdchar *bufsize_t count 1sys_writeunsigned int fdconst char *bufsize_t count 2sys_openconst char *filenamei...

linux syscall read 一点探究

syscall read

linux 系统是一个复杂又有趣的操作系统 今天了解了一下linux的syscall的魅力,我们为什么在编程中使用linux的syscall呢?这样的程序可以极大程度的减少对于glibc的依赖,编译的出来的程序小巧玲珑。更重要的一个特点是我们可以极大可能的利用系统机制去解决一些比较棘手的问题。 今天我学习了一下syscall read,和他相关的两个syscall为name_to_handl...