首页
社区
课程
招聘
[旧帖] [邀请码已发][原创]对评估版软件的修改(申请邀请码) 0.00雪花
发表于: 2010-1-16 23:24 951

[旧帖] [邀请码已发][原创]对评估版软件的修改(申请邀请码) 0.00雪花

2010-1-16 23:24
951
我经常使用的一款软件,我暂且称呼它为A. 我安装的是评估版,在使用时功能上和正版都一样,差别是软件的标题注明了是评估版,还有在每次使用时都会提示我去注册. 所以就拿A评估版软件练练手,还请各位大侠指点. 也希望能获得邀请码.
思路:
      1:A软件的标题被修改成了含有"评估版"的字,所以我用ctrl +N打开输入表,查打SetWindowsTextW(A)函数.在命名行对SetWindowsTextW下断点,因为是中文的所以估计是UNICODE版.如果这一步没有截到, 下一步会用DrawText来,因为有的Title是自绘.
      2:A软件会弹出注册对话框,对照输入函数,在命令行输入bp DialogBoxParamA,如果没截到,我会用CreateWindow来下断点.

下面我来稍微叙述过程.
让ollyDBG分析打开的exe程序.
第一步:通过在SetWindowsTextW函数上设断点,按Atl + F9返回到调用函数,

到了应用程序领空,经过分析,标题是由外部传进来的,按Ctrl + F9到返回,到上级调用函数.


对该函数分析,断定是函数负责生成标题.对该函数进行修改,00443841这一行改为JMP,并用NOP填充.这样就可以避免生成"评估版"的标题

第二步:在将弹出注册对话框时,断点停在了DialogBoxParamA处,返回应用程序领空.

查看调用处汇编代码,由于0043FF0E这一行最为可疑是去调用验证函数.进入其后的被调用函数.

我注意在后面有对EAX的操作,故可以不管前面的比较结果,结合该函数调用处的下一句是TEST EAX, EAX来判断是否跳往对话框.所以直接把Add eax, -2改为xor eax, eax,用NOP填充.如果仅是为了不弹出对话框可以直接用JMP,但是该验证函数的调用函数有许多,所以在该函数中改.
经过上述的修改,程序达到了预期的目的.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//