首页
社区
课程
招聘
谁能帮我做个注册机吗?
2004-11-22 10:50 4078

谁能帮我做个注册机吗?

2004-11-22 10:50
4078
程序我已经调试过了,也知道注册码发在了esi中,看了若干遍keymak的说明,还是不明白怎么做出注册机。下面我把相应代码贴出来:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:10004DB2(C)
|
:10004E11 8D542434                lea edx, dword ptr [esp+34]
:10004E15 52                      push edx
:10004E16 6870ED0110              push 1001ED70
:10004E1B E8B01B0000              call 100069D0
:10004E20 8D84247C010000          lea eax, dword ptr [esp+0000017C]
:10004E27 8D4C243C                lea ecx, dword ptr [esp+3C]
:10004E2B 50                      push eax
:10004E2C 51                      push ecx
:10004E2D E83E220000              call 10007070
:10004E32 8BBC2488020000          mov edi, dword ptr [esp+00000288]

* Reference To: USER32.GetDlgItem, Ord:0102h
                                  |
:10004E39 8B2D5C820110            mov ebp, dword ptr [1001825C]
:10004E3F 83C410                  add esp, 00000010

* Possible Reference to Dialog: DialogID_0067, CONTROL_ID:03FB, "Y>:"
                                  |
:10004E42 68FB030000              push 000003FB
:10004E47 57                      push edi
:10004E48 FFD5                    call ebp
:10004E4A 8D542434                lea edx, dword ptr [esp+34]
:10004E4E 68FE000000              push 000000FE
:10004E53 52                      push edx
:10004E54 50                      push eax

* Reference To: USER32.GetWindowTextA, Ord:015Eh
                                  |
:10004E55 FF1554820110            Call dword ptr [10018254]
:10004E5B 8DB42474010000          lea esi, dword ptr [esp+00000174] //esi中就保存着注册码,注册码是明码,共七位十进制数。
:10004E62 8D442434                lea eax, dword ptr [esp+34]//eax中是随便输入的注册码,下面开始作比较。正确的注册码是通过10004e55处的call算出来的。

以上是我反汇编得到的代码。该程序是个ime程序。(输入法程序,相当于dll)
,请各位帮忙了。谢谢
附件:lyjm.rar

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 1
打赏
分享
最新回复 (9)
雪    币: 237
活跃值: (175)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
GoOdLeiSuRe 4 2004-11-22 11:29
2
0
正确的注册码是通过10004e55处的call算出来的。


USER32.GetWindowTextA是算注册码的?晕~~~
雪    币: 1
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
beibeibei 2004-11-22 12:49
3
0
我怎么装了打不出字啊?这样子装对伐?

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0800804]
"IME File"="lyjm.ime"
"Layout Text"="中文 (简体) - 某输入法"
"Layout File"="kbdus.dll"
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jtfzp 2004-11-22 13:30
4
0
最初由 beibeibei 发布
我怎么装了打不出字啊?这样子装对伐?


Windows Registry Editor Version 5.00

........
不是这样子装的。你要这个软件的话,我们QQ上谈,这里不便公布这软件的名字。网上也没有下载的。120365109
雪    币: 236
活跃值: (59)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ijia 2004-11-22 13:39
5
0
IME其实是DLL文件,所以用KEYMAKE中要填的地址会有重定位的问题,我从没做成功过。不知其他高手是怎么做的。
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jtfzp 2004-11-22 13:59
6
0
最初由 GoOdLeiSuRe 发布


USER32.GetWindowTextA是算注册码的?晕~~~
对不起,我是看错了。应该是10004E2D处的CALL算出来的,算出后放在ESP+184处的内存里。esp+184=0063f574,此处开始的七个10进制数据(内存中是16进制)就是注册码。我能跟出注册码,但不会用KEYMAK做注册机,请教了。谢谢
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jtfzp 2004-11-22 14:03
7
0
最初由 ijia 发布
IME其实是DLL文件,所以用KEYMAKE中要填的地址会有重定位的问题,我从没做成功过。不知其他高手是怎么做的。
我安装好这个输入法后,跟踪注册过程时,如果是机器刚启动的,那么在trw200中下BPX 10004E11就能把注册过程断下来,单步跟踪到10004e2d处下“D ESP+184”就能看到注册码。但有的时候,就怎么也断不到该程序,只好重启,然后用同样的断点就能断到了。
雪    币: 414
活跃值: (531)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
nig 4 2004-11-22 14:17
8
0
看nbw的文章吧,在那个比较位置加messageboxA来,直接显示出注册码来!代码不多,也容易的。
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jtfzp 2004-11-22 14:18
9
0
最初由 beibeibei 发布
我怎么装了打不出字啊?这样子装对伐?


Windows Registry Editor Version 5.00

........
一般的输入法只要有IME和MB文件,象你说的那样就能装了。但这个不一样,它的码表文件(lyjm.mb)是加密的,不能复制给你。当中含有硬盘序列号的信息,使用时会进行验证。你的硬盘序列号与(lyjm.mb)中的不一样的话,就不能使用。下面的文件是我机器上的mb文件。你要用的话,请把c盘序列号改为“1111-1111”。注册码是:1443075附件:lyjm.rar
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jtfzp 2004-11-22 15:04
10
0
最初由 jtfzp 发布
程序我已经调试过了,也知道注册码发在了esi中,看了若干遍keymak的说明,还是不明白怎么做出注册机。下面我把相应代码贴出来:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:10004DB2(C)
|
:10004E11 8D542434 lea edx, dword ptr [esp+34]
........
另类注册机我做出来了:让程序自动显示注册码!
请看下面的反汇编原程序的代码:
:10004FF2 FF1530800110            Call dword ptr [10018030]
:10004FF8 B907000000              mov ecx, 00000007

* Possible StringData Ref from Data Obj ->"注册失败!请检查注册号......"
                                  |
:10004FFD BE90CC0110              mov esi, 1001CC90 //这里是显示错误信息的。我把这句改为:mov esi 0063f574(因为,0063f574中存有正确的注册码。所以索性改成这个地址,让它把正确的注册码显示出来。当时跟踪到10004E2D处的CALL后,正确的注册码就放在了ESP+184=0063F574处了。)
:10005002 8D7C2434                lea edi, dword ptr [esp+34]
:10005006 33C0                    xor eax, eax
:10005008 F3                      repz
:10005009 A5                      movsd
:1000500A A4                      movsb
:1000500B 8D7C2434                lea edi, dword ptr [esp+34]
:1000500F 83C9FF                  or ecx, FFFFFFFF
游客
登录 | 注册 方可回帖
返回