-
-
[原创]拯救《十万个为什么》光盘
-
发表于: 2013-4-3 23:00 2943
-
| 这套《十万个为什么》的光盘里装的是一套《十万个为什么》电子版的数据。由于光盘年久失修,并为了保护光驱,于是本人对该光盘进行了拯救行动。
第一回合:直接复制。由于光盘损坏较严重,又或者光盘本身有防复制措施,这个步骤失败。
第二回合:CloneCD法。CloneCD是一款工作在RAW模式的光盘复制工具。通过它,抢下了不少数据。只是每次都要加载光盘,很麻烦。复制文件到软件目录,提示依旧。
第三回合:免CD制作。这里是本文的重点。
这个免CD算是我第一个成功完成的逆向工程吧。首先想想有没有简单的方法,比如修改光盘定位文件。还就真找到一个:100kWhy.ini。文件内容:
[Path]
Application Content Directory=G:\
试着把 G:\ 改成 .\ ,修改以后发现:缺文件的提示没有了,但可恶的是,软件刚打开时的弹窗还在。
如何解决弹窗呢?只有逆向工程了。先看看这个软件是用什么做的。。。怎么是Macromedia Projector!毕竟是当年的老软件。Macromedia似乎是开发Flash那个公司,现在Flash卖给Adobe了。历史如此沧桑。。。好像扯远了。回来接着看。载入OD,bp MessageBoxA,运行,断下了。翻了一下,把几个跳转nop了,重新载入,依旧被断下。怎么会这样?
一下子陷入了中断,又研究了好一会,才发现地址上有名堂。原来是程序的一个dll调用的MessageBoxA。。。在OD里面找到了该程序释放的库文件,找到那个MessageBoxA的调用者,一通nop,保存。
然后问题又来了,这个DLL怎么加载呢?我又想到了过去lpk.dll提权与虚假ws2_32.dll禁止网络访问的技巧。似乎直接把这个DLL丢到根目录里可以使软件优先加载。抱着试一试的心态,我成功了。
试了一下,发现还是有个缺点,就是在软件真正需要报错的地方,软件不报错了。。。原来那个地方是程序所有弹窗的必经之路。。。不过这个影响不大,就这样将就了。。。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
- [求助]国内的各种芯片都没受到Spectre和Meltdown的影响吗? 3805
- [原创]拯救《十万个为什么》光盘 2944
- [原创]将CMD变为MSYS 1449
- 小菜请教一些关于RSA的问题 1723
- [原创]写了一个CrackMe,望指点 1912