通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
资源搜索:
热门搜索:Linux VB C语言 PhotoShop Flash TCP/IP
   首页 | 文章 | 软件 | 动画 | 资源 | 励志 | 骗术 | 论坛 | 邮箱 | 会员中心 | 军事 | 科技 | 博客 | 图片 | 商城 | 最新更新 | 800g资源 | 爱心黑客
您现在的位置: 爱国者黑客 >> 资源 >> 安全技术 >> 软件破解 >> 破解实例 >> 文章正文
5-Or-More! v2.0a
责任编辑:admin   更新日期:2005-8-6
菜鸟教程,教你看最简单的注册算法
5-Or-More! v2.0a 这是一个很好玩的小游戏(见附件60k),寓教与乐,来解开它的秘密!!!

运行游戏填入用户名:shitman 假注册码:87654321 ctrl+n 调出trw2000 下bpx hmemcpy, g
回到游戏界面,点确定,被拦下,清断点 bc *  回到游戏 pmodule

0167:0040605F FF154C144100     CALL     `USER32!GetDlgItemTextA`
0167:00406065 6A10             PUSH     BYTE +10
0167:00406067 8D4DF0           LEA      ECX,[EBP-10]
0167:0040606A 51               PUSH     ECX
0167:0040606B 6882000000       PUSH     DWORD 82
0167:00406070 FF7508           PUSH     DWORD [EBP+08]
按F10几下到此*****(1)
0167:00406073 FF154C144100     CALL     `USER32!GetDlgItemTextA` *****(1)获取用户名
0167:00406079 8D4DB0           LEA      ECX,[EBP-50]
0167:0040607C 51               PUSH     ECX                    下 D ECX=shitman
0167:0040607D FF1560134100     CALL     `KERNEL32!lstrlenA`     获取用户名的长度
0167:00406083 85C0             TEST     EAX,EAX
0167:00406085 0F8489000000     JZ       NEAR 00406114        如EAX=0,说明用户名为空就跳去死了!我有用户名,所以不会跳去死^_^
0167:0040608B 8D45F0           LEA      EAX,[EBP-10]        
0167:0040608E 50               PUSH     EAX                 我输入的假注册码 D EAX=87654321
0167:0040608F FF1560134100     CALL     `KERNEL32!lstrlenA`获取注册码长度
0167:00406095 85C0             TEST     EAX,EAX
0167:00406097 747B             JZ       00406114            不为空,不会跳去死,会往下走
0167:00406099 8D45F0           LEA      EAX,[EBP-10]
0167:0040609C 50               PUSH     EAX                 EAX里放着我的假码:87654321
0167:0040609D E84EFEFFFF       CALL     00405EF0   ********(2)这里就是关键处了      
0167:004060A2 83C404           ADD      ESP,BYTE +04
0167:004060A5 85C0             TEST     EAX,EAX
0167:004060A7 746B             JZ       00406114     走到这里就会跳去死了,因为我输入的是不正确的注册码,在*****(2)的call 会验证我的87654321,肯定不通过,跳到下面去死了。所以要去******(2)中的CALL里看看,到目前我们都没看到正确注册码,说明注册码在这个CALL 里做文章。
0167:004060A9 8D45F0           LEA      EAX,[EBP-10]
0167:004060AC 8D4DB0           LEA      ECX,[EBP-50]
0167:004060AF 50               PUSH     EAX
0167:004060B0 51               PUSH     ECX
0167:004060B1 E87FFEFFFF       CALL     00405F35
0167:004060B6 83C408           ADD      ESP,BYTE +08
0167:004060B9 85C0             TEST     EAX,EAX
0167:004060BB 7449             JZ       00406106
0167:004060BD 6A40             PUSH     BYTE +40
0167:004060BF 68ACD34000       PUSH     DWORD 0040D3AC
0167:004060C4 6864D94000       PUSH     DWORD 0040D964
0167:004060C9 FF7508           PUSH     DWORD [EBP+08]
0167:004060CC FF1538144100     CALL     `USER32!MessageBoxA`
0167:004060D2 C705F0E940000100+MOV      DWORD [0040E9F0],01
0167:004060DC A1C4E94000       MOV      EAX,[0040E9C4]
0167:004060E1 50               PUSH     EAX
0167:004060E2 E87DCFFFFF       CALL     00403064
0167:004060E7 83C404           ADD      ESP,BYTE +04
0167:004060EA A1A0FA4000       MOV      EAX,[0040FAA0]
0167:004060EF 6A00             PUSH     BYTE +00
0167:004060F1 68449C0000       PUSH     DWORD 9C44
0167:004060F6 50               PUSH     EAX
0167:004060F7 FF15B0144100     CALL     `USER32!GetMenu`
0167:004060FD 50               PUSH     EAX
0167:004060FE FF15B8144100     CALL     `USER32!DeleteMenu`
0167:00406104 EB23             JMP      SHORT 00406129
0167:00406106 6A30             PUSH     BYTE +30
0167:00406108 68ACD34000       PUSH     DWORD 0040D3AC
0167:0040610D 684CD94000       PUSH     DWORD 0040D94C
0167:00406112 EB0C             JMP      SHORT 00406120
0167:00406114 6A30             PUSH     BYTE +30        **************去死的
0167:00406116 68ACD34000       PUSH     DWORD 0040D3AC
0167:0040611B 6834D94000       PUSH     DWORD 0040D934                地方在这
0167:00406120 FF7508           PUSH     DWORD [EBP+08]
0167:00406123 FF1538144100     CALL     `USER32!MessageBoxA`**********出错的对话框

                                 算法段
0167:0040609D E84EFEFFFF       CALL     00405EF0   ********(2)按F8跟进上面的这个关键对比call里
来到以下代码段:
0167:00405EF0 8B442404         MOV      EAX,[ESP+04]   将87654321假码所在地址给EAX
0167:00405EF4 85C0             TEST     EAX,EAX
0167:00405EF6 743A             JZ       00405F32        测试EAX不为0,不会去死。

以下是比较注册码过程(最最简单的非明码比较)如果不看这里,你是无法得到正确的注册码!!!!!

0167:00405EF8 803831           CMP      BYTE [EAX],31     比较第一位注册码是否是31即  1
0167:00405EFB 7535             JNZ      00405F32          到这里就不要往下按F10了,否则你去死了
0167:00405EFD 80780136         CMP      BYTE [EAX+01],36 比较第二位注册码是否是36即  6
0167:00405F01 752F             JNZ      00405F32
0167:00405F03 80780231         CMP      BYTE [EAX+02],31                              1
0167:00405F07 7529             JNZ      00405F32
0167:00405F09 80780333         CMP      BYTE [EAX+03],33                              3
0167:00405F0D 7523             JNZ      00405F32  
0167:00405F0F 80780435         CMP      BYTE [EAX+04],35                              5
0167:00405F13 751D             JNZ      00405F32
0167:00405F15 80780535         CMP      BYTE [EAX+05],35                              5
0167:00405F19 7517             JNZ      00405F32
0167:00405F1B 80780631         CMP      BYTE [EAX+06],31                              1
0167:00405F1F 7511             JNZ      00405F32
0167:00405F21 80780730         CMP      BYTE [EAX+07],30                              0
0167:00405F25 750B             JNZ      00405F32
0167:00405F27 80780800         CMP      BYTE [EAX+08],00   第九位没了就完成任务
0167:00405F2B B801000000       MOV      EAX,01              置EAX=1
0167:00405F30 7402             JZ       00405F34           跳到返回ret成功了!!!!!
0167:00405F32 33C0             XOR      EAX,EAX   *******EAX=0上面的任意一个jnz 跳到这,你就完蛋
0167:00405F34 c3               Ret

考,注册信息不在注册表里,而在windows/5ormore.ini 里,我在注册表里找了半天。
[Settings]
Options=03C223C2430303C2630303C21313
MoreOptions=73C203C203C203
SN=1363133353531303
Name=5D5C1D9ABC9C
Time=64279602A457C60213230213

[1] [2] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • 热门文章
    Olldbg常见问题
    汇编语言的艺术(组合语言的艺术)--观
    汇编语言的艺术(组合语言的艺术)--准
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言---程式设计 (4)
    虚拟8086模式
    SYS命令使用说明
    javascript + CSS 实现动态菜单显
    推荐文章
    自制Windows XP SP2自动安装光盘
    SQLServer注入工具改进版 v1.02
    使用photoshop CS进行自然美肤
    Photoshop绘制诺基亚手机
    PHOTOSHOP制作秋日之梦
    PHOTOSHOP鼠绘名模王爱萍
    Photoshop制作晶莹飞溅的水珠
    教你用PHOTOSHOP做放大镜
    鼠绘美女及服装修画全过程