逆向工程浅谈——使程序自己显示注册码

本文作者:飘云[PYG]
文章来源:不详
阅读次数:105
添加时间:2005/4/27 18:55:10
 
逆向工程浅谈——使程序自己显示注册码

【破文标题】逆向工程浅谈——使程序自己显示注册码
【破文作者】飘云[PYG]
【破解平台】winxp
【作者邮箱】piaoyun04@163.com
【软件名称】精品网络电视王 V6.22 新禧版
【软件大小】615 KB
【下载地址】http://www4.skycn.com/soft/16083.html
【破解工具】PEid0.93、W32Dasm10.0汉化版、keymake1.73、OD二哥修改版
【保护方式】序列号
【软件限制】部分功能限制
【破解难度】简单,适合初学者。
【破解目的】学习破解。
【破解声明】我乃小菜鸟一只,偶得一点心得,愿与大家分享:)
【软件介绍】精品网络电视王是在宽带网上欣赏网络节目的精品软件。收集了350多家国内外电视台(凤凰卫视中文台、香港翡翠台、华娱卫视、星空体育、泰星体育等)和200多家电台。网络节目丰富,包括几十部精彩的国内外影片、十几个明星写真片段、最新演唱会、当今流行歌曲、经典相声、脍炙人口的小品和好玩的游戏。其收视率在96%以上。
·网络电视节目质量清晰、播放稳定
·网络电台音频效果剧佳
·界面总在最前端,用户使用极为方便,占用系统资源少
·本软件以实用为主,不带有任何广告以阻碍用户正常收看
·网络节目的动态连接增加了收视率,用户可实时欣赏
·每日有专业人员对网络内容更新,确保软件的可行性、实用性和稳定性
·方便用户操作、保证软件质量是我们的宗旨
【破解分析】首先用PEid查壳,爽!无壳!打开W32DASM载入程序,在“串是式数据参考”找到:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00463AA3(C)======跟过去!
|

* Possible StringData Ref from Code Obj ->"注册码无效,请与作者联系Email:jpsoft_yh@163.com"
|
:00463B7B B8443C4600 mov eax, 00463C44
:00463B80 E85F7AFCFF call 0042B5E4
:00463B85 8B83FC020000 mov eax, dword ptr [ebx+000002FC]
:00463B8B 33D2 xor edx, edx
:00463B8D E81E71FDFF call 0043ACB0
:00463B92 8B83FC020000 mov eax, dword ptr [ebx+000002FC]
:00463B98 8B10 mov edx, dword ptr [eax]
:00463B9A FF92C4000000 call dword ptr [edx+000000C4]

=====================================================================================

:00463A88 8D55F8 lea edx, dword ptr [ebp-08]
:00463A8B 8B83FC020000 mov eax, dword ptr [ebx+000002FC]
:00463A91 E8EA71FDFF call 0043AC80
:00463A96 8B45F8 mov eax, dword ptr [ebp-08]

* Possible StringData Ref from Code Obj ->"fyzo-muaw-jnqs"
|
:00463A99 BACC3B4600 mov edx, 00463BCC =====edx中是真码
:00463A9E E85108FAFF call 004042F4 =====这里几句经典比较处
:00463AA3 0F85D2000000 jne 00463B7B ★★★从这里跳的,爆破则改为je★★★
:00463AA9 8BC3 mov eax, ebx
:00463AAB E8E837FFFF call 00457298
:00463AB0 B201 mov dl, 01
:00463AB2 A1DC014300 mov eax, dword ptr [004301DC]
:00463AB7 E820C8FCFF call 004302DC
:00463ABC 8945FC mov dword ptr [ebp-04], eax
:00463ABF 33C0 xor eax, eax
:00463AC1 55 push ebp
:00463AC2 685C3B4600 push 00463B5C
:00463AC7 64FF30 push dword ptr fs:[eax]
:00463ACA 648920 mov dword ptr fs:[eax], esp
:00463ACD BA01000080 mov edx, 80000001
:00463AD2 8B45FC mov eax, dword ptr [ebp-04]
:00463AD5 E8A2C8FCFF call 0043037C
:00463ADA 33C9 xor ecx, ecx

经过在od中分析得知 00463A99 处的edx(也就是4634cc)中是真码,我们的目标是要让程序自己显示注册码,即把:"注册码无效,请与作者联系Email:jpsoft_yh@163.com"替换成我们需要的东西! 怎么改呢?看我的:

* Possible StringData Ref from Code Obj ->"注册码无效,请与作者联系Email:jpsoft_yh@163.com"
|
:00463B7B B8443C4600 mov eax, 00463BCC 就是这里:把原来的463c44换成463bcc就ok!
:00463B80 E85F7AFCFF call 0042B5E4
:00463B85 8B83FC020000 mov eax, dword ptr [ebx+000002FC]


然后运行程序任意输入注册码看看,呵呵!真码是不是乖乖跳出来了。

=====================================================================================附上注册机写法:
中断地址:463a9e
中断次数:1
第一字节:e8
指令长度:5

内存方式-寄存器-edx

=====================================================================================

因为是逆向分析,所以我没有注重算法,有兴趣的可以自己跟踪!
希望本文能给初学者一点启发!呵呵!
收工!


Copyright © 2024粤ICP备2024343336号-2 All Rights Reserved.
请用1024*768分辨率浏览本站
站长:AH 程序设计:AH 联系QQ:65994964
当前共有位用户在线