中国汉化 - www.shanse8.com

直接加微信

鼠标放在右下面微信图标上,会弹出微信二维码

扫描二维码访问中国汉化官网移动版

成就您每时每刻您所需要的

扫一扫,加微信好友

可直接咨询与求助

-->

【原创】破解软件的基础,调试软件OD详细教程! [复制链接]

  • 19201阅读
  • 31回复
离线 xinje
楼主  发表于: 2010-06-08 只看楼主 倒序阅读
0F

中国汉化网提醒您:

原创】破解软件的基础,调试软件OD详细教程 gQPw+0w  
今天挺没意思,作图累了,玩魔方也累了。突然发现了一个电脑上模拟魔方的游戏,很不错可惜弹出个网页挺烦人!改掉它! h+W$\T)  
很多朋友希望破解软件来汉化,可是总找不到切入点。下面就我给大家写了一篇我破解这个游戏的详细教程。由浅入深,如果大家需要,我可以写更复杂一些的破解教程。 p]mN)  
   Vc9rc}  
必备的软件:
OLLYDBG  到处都有,我就不提供下载了。 #yH+ENp0   
被破解的游戏:魔方游戏【在三楼下载】 ;stjqTd  
     1Vu#:6%  
                           我是华丽的分割线              [s:404]  [s:404]  [s:404]  [s:404]  [s:404]  [s:404]  [s:404]   ,>-jZtm  
OD破解初探,去掉程序中弹出网页窗口。 :i<*~0r<  
  
o-rX4=T  
iAz0 A  
     
魔方游戏,运行此魔方游戏,会发现弹出IE并打开作者的主页空间。我们想去掉这个弹出的网页。很多人觉得从16进制编辑器中去掉相应的字符串不就可以了吗?其实去掉字符串是可行的,但是如何去掉,去掉哪部分。我们就需要调试程序了。 %+l95Dv1  
OD
是现在比较流行的调试程序之一,全称:OLLYDBG,以下我们简称OD _Ay^v#a  
打开OD,按F3加载魔方游戏主程序:MAGIC.EXE,此时OD会停留在0040AA52处,并且暂停。 blQ&QQL  
8{ZTHY -  
  
>Hnm.?-AWl  
    可是我们如何下断点,如何知道什么地方时弹出IE的代码呢?弹出网页,必然有网址,程序中必然会出现网址的字符串。而且必然是文本形式存在的。所以我们搜索字符串是最简单有效的方法。 94w)Yln  
我们可以在任意地方单击右键,在菜单中找到搜索字符串的选项。如图: )h,y Q`.  
  
o-@01_j  
    
;O}%SCF7  
I,hw0e  
之后会弹出字符串列表,很轻松的找到敏感词汇: ." xP {  
    
_3aE]\O[  
      
J3mLjYy  
正是弹出的网络地址。 ;0Z-  
只要双击此处的字符串,就会在CPU界面中跟随过去。这里就是关键代码了。 M*0^<e~]F  
我们顺便单击再004087A9处按F2下断点。这样运行时会在这里停下来,以便我们以后的修改。在这里下断,是因为上面的CALL刚刚运行完成,这里正是另一组子程序的开始。 bW=q G  
      
KyNu8s k  
        
 oE+P=  
6-|?ya  
不懂汇编?没关系。我们从0开始学。如果你有基础那最好了,最好还有点WINDOWS API的知识,这个是windows应用程序接口。不过不懂也没关系,跟我做,你就慢慢会明白。 8lM=v> Xc  
ShellExecuteA
我们可以看到这样的词汇,这个就是API函数。前面的IsShownDefDir等都是他的参数。其实这些并不太重要,重要的是ShellExecuteA是干什么的。可以在百度里搜索一下。可以找到很多关于ShellExecuteA的知识:“ShellExecuteA,查找与指定文件关联在一起的程序的文件名 非零表示成功,零表示失败。会设置GetLastError C$[iduS  
这里ShellExecuteA的意思是查找关于网页关联的程序。OPEN(这里是ShellExecuteA的参数)他。大家明白了吧。只要跳过这段代码就可以屏蔽了。可是如何屏蔽呢?乱改会对程序造成影响。一步一步进行: >UCg3uFj  
U3N d\b'0  
第一次尝试,直接干掉ShellExecuteA,此时运行时没有问题,结束程序时会出错。基本上这中方法可行,但不完美。 b,+Sa\j)(  
004087C0 |. FF15 2CA14100 call dword ptr[<&SHELL32.ShellExecut>; ShellExecuteA { YQS fk  
这一行用的是CALL,我们直接双击汇编命令部分:call dword ptr [<&SHELL32.ShellExecut>,就会弹出对话框,让你更改汇编代码。我们输入“nop”来干掉他。这里nop是指无操作,忽略后继续运行。 1Of(O!  
此时已经修改完成,验证程序:按F9运行程序,会发现不弹网页了,退出时有错误。 Kzn1ct{65!  
l+6c|([  
第二次修改。退出错误,是因为CALL没有了。前面设置的值已经被写到内存,等待CPU处理,CALL被去掉后,这些值一直保存着。在运行其他代码时反而调用了这些值,就会出现错误。 82@^vX  
既然使其他代码出错,那么就一并干掉他们。 oH w!~ c7  
        
ZRf9'UwS  
          
iQ" LIeD  
       B/l^=u+-  
     bRu 9*4t  
   z" tz-~  
z6U'"T"a  
M ]047W  
[ 此帖被xinje在2010-06-08 01:59重新编辑 ]
1条评分
admin 金币 +10 加分鼓励 2010-06-08
分享到
离线 xinje
发表于: 2010-06-08 只看该作者
1F
@G^ l`%  
框选需要改的代码,右键菜单中用NOP把他们都填充掉。所有的都无操作了,自然不会有值保留在内存了。此时运行程序,发现非常完美了! uq{w1O5  
5Z1b9.;.,  
当然,你可以用一个更简单的汇编代码来跳过此处: c?>@P  
004087AF处代码改为:JMP 004087C6。这样运行到此处的时候便跳转到004087c6处。达到相同的效果。 48W$ ,  
5Ta<$t  
最后保存代码,直接单击右键,菜单中找到保存代码的选项。 {OH "d  
!^:b?M  
选择“复制所有修改”后,会弹出新的窗口。 ko2?q  
:Z3Tyj}4  
Eg$ I  
随意处点击右键,找到保存文件。选择位置保存就好了。最好不要替换! #R-l2OO^]  
ga%gu9  
到这里我们完美的去掉了弹出网页,不信你也来试试吧。哇哈哈。 ^T2o9f  
离线 xinje
发表于: 2010-06-08 只看该作者
2F
有兴趣的朋友可以多交流。
附件: 3D魔方游戏.rar (1990 K)更新于: 2010-06-08 01:56:22下载次数: 124[ 下载方法 ]
离线 chengman
发表于: 2010-06-08 只看该作者
3F
这也行?
离线 golconda
发表于: 2010-06-08 只看该作者
4F
谢谢,我想破解一些要注册的软件。
离线 fyadmm
发表于: 2010-06-08 只看该作者
5F
看不懂啊
离线 strongcloud
发表于: 2010-06-08 只看该作者
6F
这样也叫详细教程啊
离线 刘禹
发表于: 2010-06-08 只看该作者
7F
不懂
离线 736486704
发表于: 2010-06-09 只看该作者
8F
看的头晕
离线 junwuke02
发表于: 2010-06-10 只看该作者
9F
强大 太强大了 感谢
快速回复
限150 字节
温馨提示:严禁胡乱恶意回复帖子,违者严惩,严重者封号!
 
上一个 下一个
      你的浏览器不支持js脚本,无法发帖,请修改浏览器设置,支持js脚本并刷新页面后再发帖!
      欢迎光临中国汉化网

      登录后更精彩!

      下拉
      使用快捷登录 或 免费注册