首页
社区
课程
招聘
[旧帖] [求助]追出“随想出题免费版”的注册码,但是如何做注册机? 0.00雪花
发表于: 2007-4-18 21:10 5710

[旧帖] [求助]追出“随想出题免费版”的注册码,但是如何做注册机? 0.00雪花

2007-4-18 21:10
5710
各位大侠好!
小菜鸟我在破解用VB写的软件的时候,不知道要怎么去做注册机?

首先用OD载入,程序停在这里

00401580 > $ 68 34244000    PUSH 随想出题.00402434            ;  ASCII "VB5!6&vb6chs.dll"
00401585   . E8 EEFFFFFF    CALL <JMP.&MSVBVM60.#100>
0040158A   . 0000           ADD BYTE PTR DS:[EAX],AL
0040158C   . 0000           ADD BYTE PTR DS:[EAX],AL
0040158E   . 0000           ADD BYTE PTR DS:[EAX],AL
00401590   . 3000           XOR BYTE PTR DS:[EAX],AL
00401592   . 0000           ADD BYTE PTR DS:[EAX],AL
00401594   . 3800           CMP BYTE PTR DS:[EAX],AL
00401596   . 0000           ADD BYTE PTR DS:[EAX],AL
00401598   . 0000           ADD BYTE PTR DS:[EAX],AL
0040159A   . 0000           ADD BYTE PTR DS:[EAX],AL
0040159C   . 93             XCHG EAX,EBX
0040159D   . 3BEA           CMP EBP,EDX
0040159F   . E0 6A          LOOPDNE SHORT 随想出题.0040160B
004015A1   > 4D             DEC EBP
004015A2   . 67:45          INC EBP                       ;  多余的前缀
===========================================================================================
然后什么也没动,直接F9运行,让程序跑起来,在输入假注册名和假码,返回OD,Alt+E可执行模块,在AMODULE, 条目 1
6A280000 0152000 (1384448.) 6A281AD8 MSVBVM60.<模块入口点>MSVBVM60 (系统)6.00.8495
路径=C:\WINNT\System32\MSVBVM60.DLL  在这一行中用Ctrl+N查看名称  找到

名称位于 MSVBVM60, 条目 1178 地址=6A2A416C 区段=.text  类型=输出  名称=__vbaStrComp  在这里

下F2断点  在返回程序的注册窗口 点击确定,程序被OD断下,

6A2A416C > 837C24 04 02     CMP DWORD PTR SS:[ESP+4],2  //拦到的断点
6A2A4171   0F84 50310200    JE MSVBVM60.6A2C72C7
6A2A4177   68 01000300      PUSH 30001
6A2A417C   FF7424 08        PUSH DWORD PTR SS:[ESP+8]
6A2A4180   FF7424 10        PUSH DWORD PTR SS:[ESP+10]
6A2A4184   FF7424 18        PUSH DWORD PTR SS:[ESP+18]
6A2A4188   FF15 58EE386A    CALL DWORD PTR DS:[6A38EE58]  ; OLEAUT32.VarBstrCmp
6A2A418E   85C0             TEST EAX,EAX
6A2A4190   0F8C 38310200    JL MSVBVM60.6A2C72CE
6A2A4196   48               DEC EAX
6A2A4197   C2 0C00          RETN 0C
6A2A419A > 8B4424 08        MOV EAX,DWORD PTR SS:[ESP+8]
6A2A419E   03C0             ADD EAX,EAX
6A2A41A0   50               PUSH EAX
6A2A41A1   FF7424 08        PUSH DWORD PTR SS:[ESP+8]
6A2A41A5   E8 03000000      CALL MSVBVM60.rtcLeftBstr

=========================================================================
EAX 0013C4A4 UNICODE "WUGUIYAO"    //寄存器里的假注册名

=========================================================================
堆栈里看到

0012F4F4    6A37F073  MSVBVM60.__vbaFreeVarList
0012F4F8    00151FC6  UNICODE "225564264"    //真注册码
0012F4FC    0012F520
0012F500    6A3639B5  MSVBVM60.rtcVarStrFromVar
0012F504    6A2A412D  MSVBVM60.6A2A412D
0012F508    00151FC6  UNICODE "225564264"    //真注册码
0012F50C    00000009
0012F510    001396C8
0012F514    6A2A40D0  MSVBVM60.6A2A40D0
0012F518    0012F528
0012F51C    00151FC4  UNICODE " 225564264"   //真注册码
0012F520    0012F544
0012F524    6A369694  MSVBVM60.6A369694
0012F528    0013CCD4  UNICODE "225564264"    //真注册码
0012F52C    6A37F073  MSVBVM60.__vbaFreeVarList
0012F530    00000000
0012F534    6A2A0008  MSVBVM60.6A2A0008
0012F538    6A2A4169  返回到 MSVBVM60.6A2A4169 来自 MSVBVM60.__vbaStrComp

==========================================================================
到这里其本上已经是追出了软件的注册名和注册码,

注册名:WUGUIYAO     注册码:225564264
==========================================================================
然而在用keymake1.73写注册机的时候,老是拦截不到注册码,请高手指点一下,写注册机的

中断地址,还有保存的“内存方式”是哪一个,EAX还是EDX ?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2

6A2A4177 68 01000300 PUSH 30001
6A2A417C FF7424 08 PUSH DWORD PTR SS:[ESP+8]
6A2A4180 FF7424 10 PUSH DWORD PTR SS:[ESP+10]
6A2A4184 FF7424 18 PUSH DWORD PTR SS:[ESP+18]
6A2A4188 FF15 58EE386A CALL DWORD PTR DS:[6A38EE58] ; OLEAUT32.VarBstrCmp

那当然不是EAX,EDX了
用[ESP+...]
2007-4-18 22:25
0
雪    币: 207
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
谢大侠指点,
2007-4-20 20:43
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
呵呵
好多大侠哦
2007-5-27 23:57
0
游客
登录 | 注册 方可回帖
返回
//