首页
社区
课程
招聘
[讨论]如何用MFC42D.DLL替换MFC42.DLL调试程序?
发表于: 2005-9-14 15:33 6433

[讨论]如何用MFC42D.DLL替换MFC42.DLL调试程序?

2005-9-14 15:33
6433
跟踪VC++6.0写的程序,
经常会在MFC42.DLL和应用程序之间跑来跑去.
而微软却用一些函数编号完全隐藏了MFC42.DLL的函数名等内容。
给调试带来不便。

但是MFC42.DLL中的函数全部接口却又是公开的,
不但有带有全调试信息的MFC42D.DLL,
也有MFC42.LIB文件说明MFC42.DLL中的入口内容。

目前的状况是IDA和OD都利用MFC42.LIB推导出了应用程序中
对MFC42的调用函数名等内容,
可是调试时跑到这个DLL内部仍然是老样子。

因此,
如果能够想办法搞出一个带调试信息的MFC42.DLL,
或者直接用MFC42D.DLL替换MFC42.DLL,
那该多好啊。

笔者已经试验过将MFC42D.DLL改名替换MFC42.DLL,
并修改了PE文件中的相关字节,
可是没有成功,
应用程序运行的时候会报告一个错误,
有一个MFC_6907找不到定位之类.

各位大侠有什么高招可解决这个问题的话,
以后跟踪VC程序就太爽咯~~

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 229
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
哈哈,点子不错哦。但实现起来好象……
2005-9-14 16:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
最初由 skyege 发布
哈哈,点子不错哦。但实现起来好象……


实现起来也不是很难吧?

如果足够耐心,
可以左右打开二个IDA窗口,
对照着手工一条条将调试信息从MFC42D抄到MFC42.DLL中去.
大概有6000个函数吧,
每小时100个的话要差不多一周时候就可以自己搞个符号调试版的MFC42D来了.

不过还没去这样试,
2005-9-15 00:04
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
好像不行,因为它们输出的函数的个数和序号都是不一样的。
可能只有这样了
另外,你看那调试信息干吗呢,反正已经知道进入那个函数了,调试信息帮助不大
2005-9-15 22:59
0
雪    币: 255
活跃值: (266)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
5
使用MFC42.Lib就可以了
2005-9-16 12:55
0
游客
登录 | 注册 方可回帖
返回