请问这个E KeyGen为什么不支持中文?
算法是这的:https://www.chinapyg.com/viewthread.php?tid=5717&extra=page%3D1
+++++++++++
逐位取用户名的16进制值的2次方
加上
用户名16进制算术右移1位取值(可以理解为它除以2的商的整数)
减去
逐位取用户名的16进制值
最后累加的16进制值转换成10进制就是注册码.+++++++++++
KeyGen源码:
.版本 2
.程序集 窗口程序集1
.子程序 _按钮1_被单击
.局部变量 user, 文本型
.局部变量 code, 整数型
.局部变量 i, 整数型
.局部变量 变量, 整数型
user = 编辑框1.内容
i = 取文本长度 (user)
.如果 (i ≥ 1)
.计次循环首 (i, 变量)
code = code + 取代码 (user, 变量) × 取代码 (user, 变量)
code = code + 右移 (取代码 (user, 变量), 1) - 取代码 (user, 变量)
编辑框2.内容 = 到文本 (code)
.计次循环尾 ()
.否则
否则 ()
信息框 (“用户名忘了填吧!”, 0, “温馨提示”)
.如果结束
.子程序 否则
.子程序 __启动窗口_创建完毕
标题 = “KeyGen FoR Key-Crackme2”
用了英文和数字作为用户名注册成功。但中文就不行。希望能解惑!谢谢!
https://www.chinapyg.com/attachments/SpxImage_Rn5QYWZkESQa.gif
[ 本帖最后由 野猫III 于 2006-7-1 01:22 编辑 ] 第一次用E语言,的确很方便,帮助信息很多
我用OD 做的笔记:
00401309 8B15 38304000 mov edx,
00403038CE D2 B5 C4 C3 A8 D1 BD我的猫呀
00403040A3 A1 00 00 00 00 00 00!......
00401309 8>mov edx,
0040130F 8>mov dl,
00401315 8>and edx, 0FF
0040131B 8>mov ebx, edx
0040131D 0>imul ebx, edx
00401320 0>add esi, ebx
00401322 8>mov ebx, edx
00401324 D>sar ebx, 1
00401326 0>add esi, ebx
00401328 2>sub esi, edx ; CODE1=CODE1 + N*N + N>>1 - N
0040132A 4>inc eax
0040132B 4>dec ecx ; ECX初始为注册名字节长度,中文的话 乘以2
0040132C^ 7>jnz short 00401309
0040132E 5>push esi ; "我的猫呀!"===〉ESI=00056A60
0040132F 6>push 00403138 ; ASCII "354912"
00401334 E>call 00401383 ; 取得输入注册码(十进制)的十六进制数,1111.==〉457
00401339 5>pop esi
0040133A 3>cmp eax, esi ; 比较,真正注册码应该为 00056A60===〉354912(十进制)
0040133C 7>jnz short 00401353
0040133E 6>push 0
00401340 6>push 00403462 ; ASCII "Key/CrackMe #2 "
00401345 6>push 004034B8 ; ASCII " Good Job, I Wish You the Very Best"
0040134A 6>push 0
0040134C E>call 004013EE ; jmp 到 USER32.MessageBoxA
易语言代码
.程序集 窗口程序集1
.子程序 _按钮1_被单击
.局部变量 SUM, 整数型
.局部变量 LEN, 整数型
.局部变量 N, 字节型
.局部变量 NAME, 文本型
.局部变量 N2, 字节型
.局部变量 i, 整数型
.局部变量 CODE1, 整数型
LEN = 取文本长度 (编辑框1.内容)
NAME = 编辑框1.内容
SUM = 0
.变量循环首 (1, LEN, 1, i)
N = 取代码 (NAME, i)
N2 = N
SUM = SUM + N × N - N + 右移 (N2, 1)
.变量循环尾 ()
编辑框2.内容 = 到文本 (SUM)
[ 本帖最后由 快雪时晴 于 2006-7-1 10:22 编辑 ] 另外问一下,Where i can download e语言最新破解版本?
发现用这挺方便,犹如VB 原帖由 快雪时晴 于 2006-7-1 10:38 发表
另外问一下,Where i can download e语言最新破解版本?
发现用这挺方便,犹如VB
呵呵~~~在咱们PYG就有。4.03版。
好像小鱼破解的~~~ 原帖由 野猫III 于 2006-7-1 01:19 发表
用了英文和数字作为用户名注册成功。但中文就不行。希望能解惑!谢谢!
用 byte型 变量
.版本 2
.子程序 _按钮1_被单击
.局部变量 user, 文本型
.局部变量 code, 整数型
.局部变量 i, 整数型
.局部变量 c, 字节型
.局部变量 变量, 整数型
user = 编辑框1.内容
i = 取文本长度 (user)
.如果 (i ≥ 1)
.计次循环首 (i, 变量)
c = 取代码 (user, 变量)
code = code + c × c
code = code + 右移 (c, 1) - c
编辑框2.内容 = 到文本 (code)
.计次循环尾 ()
.否则
否则 ()
信息框 (“用户名忘了填吧!”, 0, “温馨提示”)
.如果结束
原帖由 飘云 于 2006-7-1 13:55 发表
用 byte型 变量
噢~~~That's it!
原帖由 快雪时晴 于 2006-7-1 10:19 发表
00403038CE D2 B5 C4 C3 A8 D1 BD我的猫呀
00403040A3 A1 00 00 00 00 00 00!...... ...
Just Make it simple~~~
++++++++++++++++++
Private Sub Command1_Click()
usr = Text1.Text
lenn = Len(usr)
If lenn >= 1 Then
For i = 1 To lenn
a = Asc(Mid(usr, i, 1))
b = a * a
C = C + b + a \ 2 - a
Next i
Text2.Text = C
Else
MsgBox "请输入用户名!", 0, "温馨提示"
End If
End Sub
[ 本帖最后由 野猫III 于 2006-7-21 16:16 编辑 ]
页:
[1]