![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
杂记
想要养只猫
这个作者很懒,什么都没留下…
展开
-
关于 ESP 定理
许多壳在执行加壳代码的开始和结束位置,分别会有 pushad 和 popad 来保存所有的寄存器环境。或者有些程序利用这一点,可以定位到程序真正代码的位置。–>练习程序下载打开程序后,程序的入口点就是汇编指令 pushad,下面的都是加壳代码。由于寄存器都入栈,此时栈顶以下的位置都存储了寄存器的环境。当加壳结束时,一定将寄存器的值出栈,所以,在寄存器全部入栈后,在右侧寄存器位置点击数据窗口跟随,然原创 2017-10-24 13:55:15 · 545 阅读 · 0 评论 -
NtGlobalFlag
简单的 NtGlobalFlag 反调试程序:#include "stdafx.h"#include <windows.h>#define NAKED __declspec(naked)NAKED BOOL Detect32(){ __asm { push ebp; mov ebp, esp; pushad; mov原创 2017-11-06 01:51:08 · 1234 阅读 · 0 评论 -
关于 inc2l
inc2l 可以帮助我们将 .inc 文件转换为 .lib 文件。关于 bug如果转换成功,会在当前目录下产生一个 kernel32.lib但是,如果该文件不在其原来的安装目录下,那么转换时将会失败,什么提示也没有。分析#1因为 inc2l 是加壳文件,用 esp定理 将壳脱去。使用 OD dump 出来后,可以再使用导入表恢复工具将导入表修复完整,程序就可以正常运行了。#2用 OD 将程序以输入原创 2017-10-26 10:01:56 · 628 阅读 · 0 评论 -
关于Undname
Undname 功能undname 可以查看名称粉碎前的函数信息实现使用 OD 调试,发现实际上该程序调用了 API UnDecorateSymbolName,将输入的参数,解析字符串,再转换为 API 的参数。原创 2017-11-12 14:27:31 · 645 阅读 · 0 评论