windows 如何十六进制编辑 .dll 文件
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/4602608/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
how to hex edit a .dll file
提问by manraj82
We've been using Seagate Info Desktop 7.5 for a while and it stopped working after 31 Dec 2010. After a lot searching on the web, we found out from the SAP threads that a particular dll file(ciweb.dll) had this line of code "expires= Friday,31-Dec-2010 00:00:00 GMT",and this was causing the problem. The solution to the problem was to hexedit this dll file by changing the date to a later date. I have got no experience in hex editing a file. Would some please advise me with steps to do it?
我们已经使用 Seagate Info Desktop 7.5 一段时间了,它在 2010 年 12 月 31 日之后停止工作。在网上搜索了很多之后,我们从 SAP 线程中发现一个特定的 dll 文件 (ciweb.dll) 有这行代码"expires= Friday,31-Dec-2010 00:00:00 GMT",这导致了问题。该问题的解决方案是通过将日期更改为以后的日期来对这个 dll 文件进行十六进制编辑。我没有十六进制编辑文件的经验。有人请告诉我步骤吗?
Thank You
谢谢你
回答by Ed Guiness
You need to use a hex editor, and there are quite a few to choose from.
您需要使用十六进制编辑器,并且有很多可供选择。
(I use Vim, but it has an initial learning curve, so you might find it easier to just search for one)
(我使用 Vim,但它有一个初始学习曲线,所以你可能会发现只搜索一个更容易)
It is not normally advised to edit DLLs in this way, since you can very easily break them, but reading the thread it seems the only viable workaround until a patch is released.
通常不建议以这种方式编辑 DLL,因为您可以很容易地破坏它们,但阅读线程似乎是发布补丁之前唯一可行的解决方法。
Just do need to be careful editing the DLL, in particular be careful not to add or remove any characters - just change the characters in the date (changing 2010 to 2020 should do it). When you've finished editing, the file length should be exactly the same as when you started. If it's not, you've screwed up and need to start again.
只是需要小心编辑 DLL,特别是注意不要添加或删除任何字符 - 只需更改日期中的字符(将 2010 更改为 2020 应该这样做)。完成编辑后,文件长度应与开始时完全相同。如果不是,你就搞砸了,需要重新开始。
回答by Dheeraj Kumar
I recommend Hex WorkshopIt's a 30-day trial, and would suit your purposes perfectly.
我推荐Hex Workshop这是一个 30 天的试用期,非常适合您的目的。