恶意MySQL Server读取MySQL Client端文件
据说最早2013年在俄国论坛出现。大意是,MySQL Server有机会指示MySQL Client主动上传指定文件,细节参看[1]、[2],写得很清楚,建议先看完它们再继续。
IoT设备逆向工程中的函数识别
本文主要讨论IoT设备逆向工程中的函数识别、符号迁移问题,不考虑BinDiff、PatchDiff2等重型工具,有些场景也不太适用。函数识别技术主要涉及两大类,一是IDA自身的FLIRT技术,二是Craig的rizzo技术,本文介绍它们的基本原理、工程实践细节。另外附赠几个其他类型IDA插件的使用说明。
离线生成/proc/kallsyms结果
标准kernel的源码是公开的,但很多手机、IoT设备的kernel有定制化开发,比如把一些加解密处理放进kernel,用户态通过ioctl()调用内核态代码。没有改动后的源码,要想搞清楚这些定制化开发在干什么,只能对之进行逆向工程。
远程SHELL中进程因TCP连接中断而失去控制的预防及救急方案
在一个SSH会话里执行vi,后因TCP连接中断而失去控制。重新登录后发现原SSH会话对应的伪终端还在,其中的vi进程也在。有什么办法重新获取对vi的控制?本文通过设计一个实验复现问题并给出救急方案。另外,本文介绍了两个成熟的工具screenify、reptyr,第一次听说的朋友会感谢我的。
ARM模式、THUMB模式若干工程实践问题
ARM架构中有一个CPSR寄存器,它的的bit-5是T位(Thumb state flag),置1表示THUMB模式,置0表示ARM模式。二者区别很多,对于逆向工程来说,可以简单理解成ARM模式都是4字节指令,THUMB模式尽可能采用2字节指令编码方案;这种说法很不严谨,但不影响大局。此处只考虑32-bits ARM。