- UID
- 16062
注册时间2006-6-19
阅读权限40
最后登录1970-1-1
独步武林
该用户从未签到
|
【文章标题】: 绿星锄大D注册机的制作
【软件名称】: 绿星锄大D
【软件大小】: 1694k
【下载地址】: 自己搜索下载;已经上传到sjmzsf.ys168.com,大家也可以在那里下载!
【加壳方式】: 无壳
【使用工具】: OD KEYMAKER1.73
【软件介绍】: 扑克游戏,支持联网!
【作 者】: jjdg
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
安装完成后,运行程序,会出现版权说明,同时在程序的标题栏显示[未注册],点击注册,在弹出的注册对话框里面,输入用户名jjddgg,注册码1234567890,确定,
弹出提示:用户名或注册码输入错误,请重新注册!
OD载入,右键,查找字符串,找到“用户名或注册码输入错误,请重新注册!”双击来到,
004095AA . /74 5D JE SHORT Dadi.00409609 | 跳到出错的地方去!
004095AC . |8D5424 2C LEA EDX,DWORD PTR SS:[ESP+2C]
004095B0 . |6A 01 PUSH 1 ; /Arg5 = 00000001
004095B2 . |52 PUSH EDX ; |Arg4
004095B3 . |68 BC114300 PUSH Dadi.004311BC ; |usename
004095B8 . |68 E8114300 PUSH Dadi.004311E8 ; |software\luxing dadi\
004095BD . |68 02000080 PUSH 80000002 ; |Arg1 = 80000002
004095C2 . |8D4C24 24 LEA ECX,DWORD PTR SS:[ESP+24] ; |
004095C6 . |E8 05DF0000 CALL Dadi.004174D0 ; \Dadi.004174D0
004095CB . |8D4424 20 LEA EAX,DWORD PTR SS:[ESP+20]
004095CF . |6A 01 PUSH 1 ; /Arg5 = 00000001
004095D1 . |50 PUSH EAX ; |Arg4
004095D2 . |68 B4114300 PUSH Dadi.004311B4 ; |useid
004095D7 . |68 E8114300 PUSH Dadi.004311E8 ; |software\luxing dadi\
004095DC . |68 02000080 PUSH 80000002 ; |Arg1 = 80000002
004095E1 . |8D4C24 24 LEA ECX,DWORD PTR SS:[ESP+24] ; |
004095E5 . |E8 E6DE0000 CALL Dadi.004174D0 ; \Dadi.004174D0
004095EA . |6A 40 PUSH 40
004095EC . |68 DC164300 PUSH Dadi.004316DC ; 用户授权方式
004095F1 . |68 BC164300 PUSH Dadi.004316BC ; 已注册成功, 请重新启动游戏 !
004095F6 . |8BCD MOV ECX,EBP
004095F8 . |C745 48 02000>MOV DWORD PTR SS:[EBP+48],2
004095FF . |E8 1E330100 CALL <JMP.&MFC42.#4224_?MessageBoxA@CWnd@@QAE>
00409604 . |E9 90000000 JMP Dadi.00409699
00409609 > \6A 10 PUSH 10 | <--注意!这是从上面跳过来的!所以往上看!
0040960B . 68 DC164300 PUSH Dadi.004316DC ; 用户授权方式
00409610 . 68 94164300 PUSH Dadi.00431694 ; 用户名或注册码输入错误, 请重新注册 ! | <--来到这里!
00409615 . 8BCD MOV ECX,EBP
再往上看,注册码验证的部分一定还在前面,
00409589 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
0040958B . 8B4C24 18 MOV ECX,DWORD PTR SS:[ESP+18] |注意啊!
0040958F . 50 PUSH EAX ; /s2 |接连2个数据入栈了
00409590 . 51 PUSH ECX ; |s1 |后面跟了个call
00409591 . FF15 34894200 CALL DWORD PTR DS:[<&MSVCRT._mbscmp>] ; \_mbscmp | 看看mbscmp!是不是对注册码作比较呢?好!就在00409589下个断看看!
00409597 . 83C4 08 ADD ESP,8
0040959A . 8D4C24 1C LEA ECX,DWORD PTR SS:[ESP+1C]
0040959E . 85C0 TEST EAX,EAX
004095A0 . 0F94C3 SETE BL
004095A3 . E8 FE2D0100 CALL <JMP.&MFC42.#800_??1CString@@QAE@XZ>
004095A8 . 84DB TEST BL,BL
f9,运行,注册,输入注册名和注册码,确定,回到OD,
停在00409589处,看看OD右下角里面的内容,
0012F960 00378BB0
0012F964 00428F40 Dadi.00428F40
0012F968 0012FA24
0012F96C 00000001
0012F970 0042AC40 Dadi.0042AC40
0012F974 00377028 ASCII "jjddgg" <--我输入的注册名
0012F978 00377B68 ASCII "1234567890" <--我输入的注册码
0012F97C 00377C58 ASCII "ySkmqsymkm" <--这个是什么呢?会不会就是真正的注册码呢?先不忙,f8往下看看再说!
f8一下,注意寄存器里面的EAX的值变化了:EAX 00377C58 ASCII "ySkmqsymkm" ,这么巧!
再f8一下,
0040958F . 50 PUSH EAX ; /s2 = "ySkmqsymkm"
再来一下,
00409590 . 51 PUSH ECX ; |s1 = "1234567890"
看看寄存器里面
EAX 00377C58 ASCII "ySkmqsymkm" |哇!真的是在输出注册码哦!
ECX 00377B68 ASCII "1234567890" |
实际上,看到这里基本上就可以确定了!
要不,带进去试试,注册成功!
好了!
打开keymaker1.73,“其它”-->“内存注册机”,填入以下信息:
中断地址:40958F,
次数:1,
指令:50,
长度:1
右边的注册码框里面,选择内存方式,寄存器,EAX,生成注册机。
现在好破的软件越来越少了,好不容易能够找到这么个来增强一下信心,真是不错啊!
[ 本帖最后由 jjdg 于 2006-7-14 11:43 编辑 ] |
|