r12f / libpe

PE file parser
BSD 2-Clause "Simplified" License
37 stars 29 forks source link

希望可以有写入或者重组PE文件的功能 #39

Open bughoho opened 9 years ago

bughoho commented 9 years ago

我比较了一下Libpe和Pelib,libpe解析的结构比pelib要更多更详细。不过两者都只有读取没有写入文件的功能。如果方便的话,希望libpe能加入这个特性,比如我希望直接在PeFile中AddSection,或者重新生成一个新的重定位表,最后使用make()或者build()可以直接重组结构将其写入硬盘中。不过似乎您的接口并非为此设计,不知难度大吗?

Best wishes :+1: :)

r12f commented 9 years ago

我也非常希望增加这个功能,以至于可以在代码里面看到第一个版本的接口里面就有Rebuild函数。不过我暂时把它去掉了,为了能让可以使用的接口更加直观。

现在我正在写延迟导入表的解析,完成之后就会开始写重组,然后再添加修改的功能。一开始设计的时候想尽量多的复用内存,结果导致修改PE会不太方便,不过应该可以通过类似CopyOnWrite的方式来解决。