1625-5 王子昂 总结《2017年10月7日》 【连续第372天总结】
A. PE压缩
B.
无损压缩
rar,zip等就是具有代表性的利用无损压缩算法的格式,压缩后需要解压缩才能运行。
有损压缩
通常压缩多媒体文件(jpg.mp3.mp4)时都使用有损压缩方式。原理是牺牲人类无法察觉到的部分来换取压缩率。例如mp3的核心算法是删除超越人类听觉范围的波长区段。
运行时压缩
这种方法针对可执行文件,文件内部含有解压代码,压缩后可执行并自解压。也就是常说的壳。
压缩器
目的主要是缩减PE文件的大小和隐藏内部代码及资源。
保护器
目的主要是反逆向,运用了多种防止代码逆向分析的技术(反调试,反模拟,代码混淆,多态代码,花指令,调试器监视等)。
这类保护器使压缩后的PE文件尺寸反而比源文件要大一些,但调试起来非常困难。
脱壳
脱压缩壳比较简单,方法有很多种。以UPX为例,先PUSHAD将所有寄存器保存,然后解压缩还原节区,POPAD将寄存器还原,最后jmp到另一个节区的OEP完成。
针对流程,可以以POPAD或是跨节区的特征作为特征找到OEP,将内存dump下来后修复IAT即可还原程序。
修复IAT是另一项比较头疼的工作,xp中的内存地址是固定的因此通常IAT准确,但INT往往是损坏的。而win7甚至更新的系统有可能IAT由于内存随机分配也是损坏的。
C.明日计划
基址重定位表