对可执行文件和动态连接库用什么方法分析?

Renny 2001-06-07 01:48:00
在工作过程中,我遇到了要分析别人程序的问题。摆在我面前的只有可执行文件和动态链接库,用什么方法才能重新编写这个可执行文件呢?(注:动态链接库可以暂时采用别人的)。如果能分析出这个可执行文件的程序流程图,我也非常感激。希望各位高手不吝赐教。
...全文
54 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zxl_l 2001-06-08
动态链接采用接口的方式说明。
可执行文件用功能结构进行分析。
回复
Renny 2001-06-08
从实际工作中找出程序流程,这当然是分析流程的最根本的方法。但我现在只是开发其中的核心部分--多媒体网关程序。非核心部分我们直接使用他们提供的API.也就是说对于编写应用程序的人是不用知道程序实现细节,而对于我来说,我必须考虑对硬件(音频、视频、串口)的控制,也必须考虑与上面API的接口问题(应用程序API由两个DLL文件提供,现在也不用去自己编写,也不用考虑它是怎么实现的)。我已经对这些网关程序进行了网络传输协议的分析,可以得到部分端口和各种数据的标志位。我也对DLL文件和EXE文件进行了比较细致的分析(WINDOWS汇编语言API级)。但我觉得这些方法都不太理想。在工作中,如果我们要消化吸收别人的核心技术,我们必然会遇到这样的问题。所以希望各位同仁都来思考一下这个问题,并且互相交流。
回复
Renny 2001-06-08
要是好搞的话,那根本就不用微软开放什么原代码,自己就可以弄出来了。我现在谈的是能否找到一种比较有效率的方法,部分实现逆向编写。
回复
zhang79 2001-06-08
能搞定的话,那就变成了逆向工程了
回复
zhang79 2001-06-08
难搞,能搞定那不变成了逆向工程了
回复
Renny 2001-06-08
在多媒体网关上的这些DLL文件里面包含的函数,变量,结构,我都是不知道的。当然经过我的仔细分析过后,我基本上得到了里面所包含的函数,函数里面参数的基本类型也能得到。但如果参数里面包含的类型很复杂,比如包含结构,我就没有办法了。而且因为只能知道基本数据类型,所以参数的含义我没法知道,取值范围更无从谈起。实际上我提的这个问题,您们可以把它想为盗版软件的问题,只不过这是一种高级盗版,因为你能还原这个程序的原代码。
回复
guobiao_cn 2001-06-07
唯一方法,知道该程序用于那方面,从实际工作中找出程序流程
回复
相关推荐
发帖
研发管理
创建于2007-08-27

1221

社区成员

软件工程/管理 管理版
申请成为版主
帖子事件
创建了帖子
2001-06-07 01:48
社区公告
暂无公告