反汇编调用了MFC42的程序是否可行?

linjianing 2004-11-03 08:18:53
MFC42.DLL是使用ordinal来定位的,内部函数没有名字,无法使用INC文件进行显式调用
但是可以使用invoke GetProcAddress,hDLL,1 来获得函数地址
获得地址以后PUSH一些参数,直接CALL就可以了.
回到原来的问题,用IDA还原出一个程序以后,发现调用了MFC42.DLL
sub_401A76 proc near
jmp ds:MFC42_1576
sub_401A76 endp
这里的MFC42_1576就是一个变量
MFC42_1576 dd  ?
直接调用invoke GetProcAddress,hDLL,1576,然后 mov MFC42_1576 ,eax 应该就可以了吧?
请高手指点江山,这个还是一个想法,还没测试过,欢迎大家测试讨论指点
...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
linjianing 2004-11-04
  • 打赏
  • 举报
回复
我没有程序代码,但是我也不要深入MFC42,我只要能找到程序入口点就好了
能让汇编程序调用MFC42就好了,因为没有INC文件无法重建IMPORT表
,是否自己建一个IMPORT表?
bauhaus 2004-11-04
  • 打赏
  • 举报
回复
ida对于mfc的类和函数的分析很多时候
都是错的
不信你可以自己写一个程序反过来看看
cchuocp 2004-11-03
  • 打赏
  • 举报
回复
IDA反汇编出来的东西,看懂了,打打小补丁还行。要增加功能,重新编译,不大可能吧!
clumsy 2004-11-03
  • 打赏
  • 举报
回复
你有这个的源程序吗? 没有的话, 估计反编译之后, 做些修改, 再重新生成 exe 的话, 比较的困难. 有的话, 不是 汇编 的吧, 应该是 vc 的, 那里应该不直接触及 mfc42 的, 只是些类的使用
linjianing 2004-11-03
  • 打赏
  • 举报
回复
我的意思是把代码修改一下,重新生成EXE文件
如果可行,就可以自己增加很多原来程序没有的功能了

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧