软件跟踪调试破解心得

作者在 2012-02-15 15:29:55 发布以下内容
  已经很久没有做汇编跟踪调试的事了,九十年代曾经成功破解过DOS下用Lock97加密的字幕软件,而最近的一次应该是2003年左右破解一个windows下加密狗的字幕软件未果。至今已近十年没有接触过汇编,我觉得我已经忘了怎么看汇编代码了!
  最近单位上新栏目,主持人需要提词器设备。本着节约资金、废物利用原则,我打算将单位原有一个已废弃不用的电视提词器改造成电脑提词器,拆下原CRT电视屏幕,换上一个19寸液晶显示屏,用25芯长线连上电脑,一个电脑提词器所需的硬件就一应俱全了,接下来就是软件,在网上找找,还真有一个,不过是试用版,其他的都要花钱购买,钱虽不多,但我们已经没有时间了,先试用版用着吧。
  这个试用版具备所有功能,只是每隔一段时间会跳出一个提示你购买正版的窗口,需要你不断关闭才能工作,非常麻烦;遂生破解该软件的想法。说干就干,首先下载工具软件,网上说汇编调试最好的工具SoftICE,该工具我曾经用过,它工作在最高级,动态调试最方便,不过由于脱离系统,只能用命令操作,再就是针对它的加壳程序较多,调试过程中容易中陷阱;OllyDBG是另一款汇编动态调试软件,工作在第三级,对内核型的程序就无法调试了,但对普通Windows加壳类程序调试还是很方便的,支持菜单操作,我决定使用OllyDBG进行破解,为了能用十六进制编辑和分析文件,还安装了一个UltraEdit。
  从网上下载OllyDBG安装后,又下载了很多教程学习。有大致了解后便开始跟踪调试提词器软件了,运行OllyDBG,加载提词器软件,发现根本不能运行,不过,提词器提示窗口出现了,有这个就够了。提词器软件的提示是“请插入加密狗,购买请联系...”,用UltraEdit可知其十六进制特征码为“C7 EB B2 E5 C8...”,用这些特征码在OllyDBG中搜索它们的位置可知有两个,分别为004036F4和004037A0,在这两个地址处添加内存断点,运行,果真产生中断,中断地址为77D28944,汇编指令为MOV CL,BYTE PTR DS:[EAX],其中EAX指向的地址第一次为004036F4,第二次为004037A0,指令所在地址空间为USER32,肯定是调用一API函数,反复按CTRL+F9,会来到一10062506地址,其前面一条指令为CALL DWORD PTR DS:[100C169C],OllyDBG解释为调用USER32.MessagBoxA,正是这个API函数产生的提示窗口,该指令所在空间名为krnln_fnr,通过分析可知这是一个内存映像文件,由提词器软件运行中加载,该文件名为krnln.fnr。如果不想产生提示窗口,是不是取消该指令即可呢?用UltraEdit修改krnln.fnr文件CALL DWORD PTR DS:[100C169C]指令处为nop(空指令),存盘后直接运行提词器软件,发现错误提示,不能运行,这种修改彻底失败!!!重新再来,回到10062506地址,再次CTRL+F9(执行到返回指令时中断),发现返回处前一指令为CALL DWORD PTR DS:[EBX],而此时EBX所指位置为10062460,正是调用USER32.MessagBoxA的前面,可以认为调用入口,因此用UltraEdit修改krnln.fnr文件10062460处为C3 90,其实就是retn指令,即不做任何操作即返回,存盘后直接运行提词器软件,发现运行正常,没有任何提示,那么那个随机的提示是否存在呢?让程序运行一下午,没有任何提示,破解成功!
  通过这次破解,有所心得,现总结如下:
  一、要静的下心,要细致和坚韧
  跟踪破解是一个抽丝剥茧的过程,需要静下心来,耐的住寂寞和细烦。这次破解临近春节,诸多杂事屡次中断我的破解工作,让我差点放弃(我得负责春节期间创收和春晚直播工作,工作量和压力是很大的)。最终能成功得益于自己还有那么一点点坚韧。
  二、熟悉API函数
  Windows程序使用API函数等同于DOS下用INT21中断,对API函数的熟悉可以让你清楚程序设计的思路,可以快速找到关键的中断点,可以说能够事半功倍!
  三、从资源和数据入手
  Windows程序属于消息激发的多任务程序,如果你从程序开始即调试跟踪,最后会陷入系统消息等待的死循环,因此,要找到调试点,先要分析程序的菜单,统计提示信息的内容,最后都是从内存访问产生中断而进入关键点调试的。
  四、勤做调试笔记
  做好调试记录可以让你少走弯路、少重复,可以提高调试效率!
 
作者寄语:尊重他人劳动成果,破解只能用作研究,不可用于盈利!尊重版权!(lowxiong原创 2012-1-11)
编程旅途 | 阅读 7252 次
文章评论,共0条
游客请输入验证码
浏览18758次
文章归档
最新评论