飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2465|回复: 5

请问这个E KeyGen为什么不支持中文?

[复制链接]
  • TA的每日心情
    开心
    2018-5-6 16:27
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2006-7-1 01:19:39 | 显示全部楼层 |阅读模式
    算法是这的:
    https://www.chinapyg.com/viewthr ... &extra=page%3D1

    +++++++++++
    1. 逐位取用户名的16进制值的2次方
    2. 加上
    3. 用户名16进制算术右移1位取值(可以理解为它除以2的商的整数)
    4. 减去
    5. 逐位取用户名的16进制值

    6. 最后累加的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”


    用了英文和数字作为用户名注册成功。但中文就不行。希望能解惑!谢谢!




    [ 本帖最后由 野猫III 于 2006-7-1 01:22 编辑 ]

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-7-1 10:19:35 | 显示全部楼层
    第一次用E语言,的确很方便,帮助信息很多

    我用OD 做的笔记:

    1. 00401309    8B15 38304000   mov     edx, [403038]

    2. 00403038  CE D2 B5 C4 C3 A8 D1 BD  我的猫呀
    3. 00403040  A3 A1 00 00 00 00 00 00  !......

    4. 00401309    8>mov     edx, [403038]
    5. 0040130F    8>mov     dl, [eax+403037]
    6. 00401315    8>and     edx, 0FF
    7. 0040131B    8>mov     ebx, edx
    8. 0040131D    0>imul    ebx, edx
    9. 00401320    0>add     esi, ebx
    10. 00401322    8>mov     ebx, edx
    11. 00401324    D>sar     ebx, 1
    12. 00401326    0>add     esi, ebx
    13. 00401328    2>sub     esi, edx            ; CODE1=CODE1 + N[i]*N[i] + N[i]>>1 - N[i]
    14. 0040132A    4>inc     eax
    15. 0040132B    4>dec     ecx                 ; ECX初始为注册名字节长度,中文的话 乘以2
    16. 0040132C  ^ 7>jnz     short 00401309
    17. 0040132E    5>push    esi                 ; "我的猫呀!"===〉ESI=00056A60
    18. 0040132F    6>push    00403138            ; ASCII "354912"
    19. 00401334    E>call    00401383            ; 取得输入注册码(十进制)的十六进制数,1111.==〉457
    20. 00401339    5>pop     esi
    21. 0040133A    3>cmp     eax, esi            ; 比较,真正注册码应该为 00056A60===〉354912(十进制)
    22. 0040133C    7>jnz     short 00401353
    23. 0040133E    6>push    0
    24. 00401340    6>push    00403462            ; ASCII "Key/CrackMe #2   "
    25. 00401345    6>push    004034B8            ; ASCII " Good Job, I Wish You the Very Best"
    26. 0040134A    6>push    0
    27. 0040134C    E>call    004013EE            ; jmp 到 USER32.MessageBoxA

    复制代码



    易语言代码

    1. .程序集 窗口程序集1

    2. .子程序 _按钮1_被单击
    3. .局部变量 SUM, 整数型
    4. .局部变量 LEN, 整数型
    5. .局部变量 N, 字节型
    6. .局部变量 NAME, 文本型
    7. .局部变量 N2, 字节型
    8. .局部变量 i, 整数型
    9. .局部变量 CODE1, 整数型


    10. LEN = 取文本长度 (编辑框1.内容)
    11. NAME = 编辑框1.内容
    12. SUM = 0
    13. .变量循环首 (1, LEN, 1, i)
    14.     N = 取代码 (NAME, i)
    15.     N2 = N
    16.     SUM = SUM + N × N - N + 右移 (N2, 1)
    17. .变量循环尾 ()
    18. 编辑框2.内容 = 到文本 (SUM)


    复制代码

    [ 本帖最后由 快雪时晴 于 2006-7-1 10:22 编辑 ]

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-7-1 10:38:49 | 显示全部楼层
    另外问一下,Where i can download e语言最新破解版本?

    发现用这挺方便,犹如VB
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-5-6 16:27
  • 签到天数: 7 天

    [LV.3]偶尔看看II

     楼主| 发表于 2006-7-1 12:32:03 | 显示全部楼层
    原帖由 快雪时晴 于 2006-7-1 10:38 发表
    另外问一下,Where i can download e语言最新破解版本?

    发现用这挺方便,犹如VB


    呵呵~~~在咱们PYG就有。4.03版。

    好像小鱼破解的~~~
    PYG19周年生日快乐!
  • TA的每日心情
    难过
    6 天前
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2006-7-1 13:55:52 | 显示全部楼层
    原帖由 野猫III 于 2006-7-1 01:19 发表
    用了英文和数字作为用户名注册成功。但中文就不行。希望能解惑!谢谢!


    用 byte型 变量


    1. .版本 2

    2. .子程序 _按钮1_被单击
    3. .局部变量 user, 文本型
    4. .局部变量 code, 整数型
    5. .局部变量 i, 整数型
    6. .局部变量 c, 字节型
    7. .局部变量 变量, 整数型

    8. user = 编辑框1.内容
    9. i = 取文本长度 (user)
    10. .如果 (i ≥ 1)
    11.     .计次循环首 (i, 变量)
    12.         c = 取代码 (user, 变量)
    13.         code = code + c × c
    14.         code = code + 右移 (c, 1) - c
    15.         编辑框2.内容 = 到文本 (code)
    16.     .计次循环尾 ()
    17. .否则
    18.     否则 ()
    19.     信息框 (“用户名忘了填吧!”, 0, “温馨提示”)
    20. .如果结束
    复制代码
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-5-6 16:27
  • 签到天数: 7 天

    [LV.3]偶尔看看II

     楼主| 发表于 2006-7-1 18:16:18 | 显示全部楼层
    原帖由 飘云 于 2006-7-1 13:55 发表


    用 byte型 变量



    噢~~~That's it!

    原帖由 快雪时晴 于 2006-7-1 10:19 发表
    00403038  CE D2 B5 C4 C3 A8 D1 BD  我的猫呀
    00403040  A3 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 编辑 ]
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表