0

我有一个 PE 可执行文件 *.exe(32 位),它是一个小应用程序(2.6Mb),用于更新电视设备的固件软件。但是,更新机制仅在 2013-03-12 之前可用。我想破解这个可执行文件只是为了好玩。我正在尝试使用 PE Explorer 在文件 hexdump 中找到此到期日期,并在将来将其替换为某个日期以使该程序正常工作。

我发现这篇关于二进制日期格式的文章:

二进制日期格式

我试图找到类似这个值的东西:

2013-03-xx:0x713xxxx

这是解决我的任务的好方法吗?有什么建议么?你知道任何其他可能有用的 hexdump 工具吗?

最好的尊重,WP

4

2 回答 2

2

可能有很多 0x713xxxxxx 形式的值——当您开始或多或少地随机查看时,2.6 MB 可能比您想象的要大(您实际上并不知道应用程序在内部使用这种日期格式) .

处理此类问题的常规方法是使用工具单步执行程序,检查正在执行的代码,直到找到发生检查的点。然后简单地禁用检查,使其始终失败——通过更改日期,或简单地更改代码。

用于单步执行您无法控制的代码的流行工具是 Interactive Dissassembler,IDA。您可以在这里下载它的免费软件版本:https ://www.hex-rays.com/products/ida/support/download_freeware.shtml

做你想做的事可能比你想象的要难,但你几乎肯定会通过尝试学到很多东西。

请注意通过修改其他人的二进制文件可能会遇到的法律问题,尤其是在您之后分发它们时。

于 2013-03-15T22:48:45.933 回答
1

dumpbin是一个很好的 PE 解析器(但如果我是你,我不会做这种时间戳黑客 :))

于 2013-03-15T22:39:30.533 回答