手脱UPX壳不求人教程
手脱UPX壳不求人教程小白:“为什么要手脱UPX壳呀?upx -d 不香吗?”高手:“香个蛋,出题人各个心里阴暗,能给你upx -d的机会不多了。” ESP定律个人认为这个方法是最方便,最快捷的,掌握这个方法基本的UPX壳闭眼脱 原理ESP 定律的原理在于利用程序中堆栈平衡来快速找到 OEP. 由于在程序自解密或者自解压过程中, 不少壳会先将当前寄存器状态压栈, 如使用pushad, 在解压结束后
花指令透彻分析
花指令透彻分析0x01 花指令介绍花指令实质就是一串垃圾指令,它与程序本身的功能无关,并不影响程序本身的逻辑。在软件保护中花指令被作为一种手段来增加静态分析的难度,花指令也可以被用在病毒或木马上,通过加入花指令改变程序的特征码,躲避杀软的扫描,从而达到免杀的目的。花指令一般被分为两类:会被执行的和不会被执行的(垃圾指令)。 0x02 会被执行花指令这类花指令本身是正常的汇编指令,它们运行完后不会改
exit_hook相关利用
exit_hook相关利用glibc2.34之前利用条件: 至少有一次任意写 程序可以结束(可显式触发exit函数 或 主函数由libc_start_main启动且可正常退出),调用到_dl_fini 函数 写个简单调试代码 , 来看看exit是怎么工作的 123456789#include <stdio.h>#include <stdlib.h>int main
浅谈protobuf
浅谈protobufprotobuf在linux下的安装安装protobuf12345678910111213141516171819https://github.com/protocolbuffers/protobuf/releases/v3.6.1/protobuf-cpp-3.6.1.tar.gztar -xvzf protobuf-cpp-3.6.1.tar.gz./configurema
IO系类之伪造vtable
伪造 vtable 劫持程序流程引言前面我们简绍了linux中文件流的特性和数据结构,尤其是_IO_FILE_plus 结构中存在 vtable,一些函数会取出 vtable 中的指针进行调用。 因此伪造 vtable 劫持程序流程的中心思想就是针对_IO_FILE_plus 的 vtable 动手脚,通过把 vtable 指向我们控制的内存,并在其中布置函数指针来实现。 因此 vtable 劫持
IO_FILE结构体认识和利用
IO_FILE结构体和IO函数认识引言在学习完setcontext打ORW之后,突然有点顿悟的感觉,关于结构体的相关利用也不那么畏惧了。今天就趁热打铁学习一下一个大专题IO_FILE IO_FILE结构体认识首先来看一下源码 12345678910111213141516171819202122232425262728293031323334353637383940414243//相关定义在lib
关于利用setcontext打ORW
关于利用setcontext打ORW前记那是一个昏暗的晚上,时间已经9:30。我手贱的开了一个题,没想到这题让我彻夜难眠。 setcontext简绍源码分析(2.27版本及其以前) 1234567891011121314151617181920212223242526272829303132333435363738394041text:0000000000052180.text:000000000