|
求助:windbg 打印 IMAGE_EXPORT_DIRECTORY
先自己顶一下吧: int main(int argc, char* argv[]) { printf("Hello World!\n"); IMAGE_EXPORT_DIRECTORY stExportDir = {0}; _asm int 3; return 0; } 这个时候,用windbg,dt _IMAGE_EXPORT_DIRECTORY是可以的。但是我打开一个记事本,然后把windbg attach过去,然后输入这个命令是无效的。 是因为上面的代码用到了IMAGE_EXPORT_DIRECTORY,所以在exe文件中加入了啥吗,求解 |
|
[注意]“惊”闻 RE with IDA Pro 就要面世了
书已经买了,看了前面4章,感觉这4章的钱是白花了 |
|
[求助]OllyDbg定位到代码行的快捷键
顺便问一下插入图片的脚本如何写 |
|
[求助]汇编 fs是什么段
不知道如何给分,哪位大虾教一下 |
|
[求助]汇编 fs是什么段
十分感激,结贴 |
|
[原创]一分钟,教你认识PE
哈哈,PE的确是相当地复杂 下面从两个函数开始说起吧 HMODULE LoadLibrary( LPCTSTR lpFileName // file name of module ); 返回值是啥?msdn文档上面这么说 “If the function succeeds, the return value is a handle to the module.” 如果你仅仅知道返回值是一个模块句柄,那么你被蒙蔽了,只知其一,不知其二。 让我们再来研究一下,HMODULE这个值代表什么 Debug一下程序,你会惊奇地发现,他就是DLL在进程中的加载地址。呼呼,再来 回想一下DLL里面的导出函数(一般在Def文件中定义),我们用VC-Depends可以很容易 看到DLL中的导出函数,以及导出函数在相对地址(相对于DLL加载地址的偏移量)。 最后,我们再来看看DLL显示加载时,一般需要配合使用的函数 FARPROC GetProcAddress( HMODULE hModule, // handle to DLL module LPCSTR lpProcName // function name ); 返回值是啥,相信,看了上面的说明,不说,你也已经明白了,是函数的入口地址,是的。 上面既然已经提到了DLL的显示加载,那么肯定还有DLL的隐士加载。下面就列举一下他们的区别吧 1)如果一个程序采取隐士加载DLL,万一有一个DLL找不到的话,那就不好意思了,你的程序无法被加载;相反地,采用显示加载DLL,就不会存在这个问题,因为他是在运行中加载的,这样还会带来一个好处,就是程序的加载速度会快一点。 2)隐士加载DLL,需要DLL的Lib文件以及导出函数的原型说明。 说了半天,貌似这些和PE的内容没有关系,别急,你想下VC-Depends是如何获知DLL中的导出函数和RVA(相对偏移地址)的呢? 那就下次揭开面纱吧。 附件中提供了VC-Depends工具供下载。 |
|
[求助]我有100KX,怎样换邀请码
不是说有100kx就可以买的吗 |
|
[求助]PE文件提取DOS头的疑问
楼主是不是搞得太偏了 |
|
|
|
[分享]WinDbg资料共享
我是用7zip压缩的 改名前 改名后 WinDBG中文教程.zip.001 WinDBG中文教程.zip WinDBG中文教程.zip.002 WinDBG中文教程2.zip 这样还原一样,应该就可以了(本人已经本地试过)。 |
|
[分享]WinDbg资料共享
请在文件后面加上后缀“.001”和“.002” |
|
|
|
[分享]WinDbg资料共享
这个是chm格式的,不知道为啥上传的时候说是非法,所以把它压缩为zip格式了。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值