- UID
- 56035
注册时间2008-9-5
阅读权限10
最后登录1970-1-1
周游历练
TA的每日心情 | 开心 2020-11-10 08:52 |
---|
签到天数: 3 天 [LV.2]偶尔看看I
|
发表于 2008-9-12 18:01:26
|
显示全部楼层
1,内存嗅码
Name:nietsme
Code:24b7b070
2,自身注册机
代码1:- 0046649D . FFD7 call edi ; \GetDlgItemTextA
- 0046649F . 68 F83A4B00 push 004B3AF8 ; ASCII "Nietsme" //用户名
- 004664A4 . B8 683E4B00 mov eax, 004B3E68 ; ASCII "321654" //假注册码
- 004664A9 . E8 42C4FAFF call 004128F0
- //经过此处call后我们得到了真正的注册码24B7B070和其对应的堆栈位置0012ED38
复制代码 ..- //此时寄存器信息
- EAX 00000000
- ECX 0012EC38 ASCII "321654"
- EDX 0012ED38 ASCII "24B7B070"
- EBX 00000000
- ESP 0012EE3C
- EBP 0012EE70
- ESI 006202AA
- EDI 7E46B05E USER32.GetDlgItemTextA
- EIP 004664AE winimage.004664AE
复制代码 //继续向下走
..
..- 004664AE . 8B15 B0374B00 mov edx, dword ptr [4B37B0]
- 004664B4 . 33C9 xor ecx, ecx
- 004664B6 . 83C4 04 add esp, 4
- 004664B9 . 3BC1 cmp eax, ecx
- 004664BB . A3 1C424B00 mov dword ptr [4B421C], eax
- 004664C0 . 74 06 je short 004664C8
- 004664C2 . 8915 20344B00 mov dword ptr [4B3420], edx
- 004664C8 > 390D 20344B00 cmp dword ptr [4B3420], ecx
- 004664CE . 8915 CC3A4B00 mov dword ptr [4B3ACC], edx
- 004664D4 . 75 05 jnz short 004664DB
- 004664D6 . A3 CC3A4B00 mov dword ptr [4B3ACC], eax
- 004664DB > 3BC1 cmp eax, ecx
- 004664DD . 75 4B jnz short 0046652A
- 004664DF . 68 10200000 push 2010
- 004664E4 . 68 2D040000 push 42D
- 004664E9 . 68 2B040000 push 42B
- 004664EE . 56 push esi
- 004664EF . C705 203F4B00 01000000 mov dword ptr [4B3F20], 1
- 004664F9 . C705 C43A4B00 01000000 mov dword ptr [4B3AC4], 1
- 00466503 . 880D 683E4B00 mov byte ptr [4B3E68], cl
- 00466509 . 880D F83A4B00 mov byte ptr [4B3AF8], cl
- 0046650F . E8 DC80FFFF call 0045E5F0
- //跟进此call,
复制代码 进去后向下走来到这个位置:
0045E645 8D9424 18010000 lea edx, dword ptr [esp+118]
我们从信息窗口中可以看到- 堆栈地址=0012E764, (ASCII "Registration information is invalid")
- edx=0012E661, (ASCII "inImage Registration")
复制代码 这儿正是把注册错误的信息传给edx,所以在此处下手,在堆栈窗口中点“右键”-“转到表达式”-填入刚才我们看到的正确注册码的地址0012ED38。
确定后到达地址该地址处,在地址上点右键,选择“地址”-“相对于ESP“,此时该地址变为相对地址ESP+528。
回到CPU窗口将该句
0045E645 8D9424 18010000 lea edx, dword ptr [esp+118]
中的esp+118改为ESP+528,这样的话,当再次注册时,填入假注册信息点确定后,出现的错误提示信息里出现的不再是"Registration information is invalid",而是我们所要的正确注册码了。
保存程序,运行试试看!
效果:
呵呵,昨天刚学会的! 见笑了。 十二点了,睡觉去! :handshake
...
..
.
[ 本帖最后由 nietsme 于 2008-9-13 00:11 编辑 ] |
|