171224 逆向-EvilExe的Shellcode分析
来源:互联网 发布:淘宝破损补寄流程 编辑:程序博客网 时间:2024/05/15 04:47
1625-5 王子昂 总结《2017年12月24日》 【连续第450天总结】
A. JarvisOJ-EvilExe(Shellcode分析)
B.
ShellCode分析
将Shellcode复制到OD随便一段空白处中进行分析
注意跳转执行的时候是从第二个字节开始,第一个字节0xEE是没有用的
右击第二个字节,设置EIP进行执行
可以发现它动态获取Kernel32.dll和通过LoadLibrary函数加载MessageBox和ExitPorcess函数
从43DD11开始
TEB(线程环境块)→PEB(进程环境块)→_PEB_LDR_DATA→InInitializetionOrderModuleList
通过双向链表遍历加载的模块,最终取到kernel32.dll的入口,然后进入下一个代码块加载函数
最前面几行是初始化,之后push 0xEC0E4E8E这个硬编码,再push edx,即kernel32.dll的入口点,以这两个参数调用43DD2D取函数地址
这个函数里面通过参数1入口点来遍历模块内的所有函数,将函数名进行hash(逐字符相加并循环右移13位)后与参数2的硬编码比较,符合则证明是需要的函数,保存地址后退出
通过这个函数分别取到LoadLibraryA、ExitProcess和MessageBoxA,并通过LoadLibraryA加载后两个函数
然后push字符串,调用MessageBoxA显示成功提示,最后Exit结束
C. 明日计划
看书!!!QAQ
阅读全文