飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5832|回复: 9

[原创] KeygenMe一个,顺便汇编的算法分析求教

[复制链接]
  • TA的每日心情
    奋斗
    2023-12-27 21:49
  • 签到天数: 85 天

    [LV.6]常住居民II

    发表于 2010-12-20 03:46:08 | 显示全部楼层 |阅读模式
    本帖最后由 foxjinlin 于 2011-3-28 08:21 编辑

    小菜我最近在学易语言和汇编,用易语言写了个也很菜的KeyGenMe,VC编译器静态编译,加了个UPX 2.0的壳,用来减少程序体积,呵呵,注册成功后里面有个MP3,这个比较耐听的哦。

    本来这玩意是写给自己学汇编语言用的,哪知道放到OD里打开一看,小菜我就傻眼了,程序是自己写的,爆破小菜我是也勉强能做,可我自己来分析汇编算法却无从下手了,现在我的汇编学得是半生不熟,痛苦啊。

    所以向论坛上的大侠们讨个该程序的汇编算法分析,帮小菜我一把,先谢过了(源码等算法分析出来后,我再传到论坛上来,易语言里看这个算法其实很简单,汇编里比较麻烦,代码比较凌乱)。

    评分

    参与人数 1飘云币 +40 收起 理由
    月之精灵 + 40 您的贴子很精彩,希望能再次分享!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    难过
    2024-4-22 14:49
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2010-12-20 04:37:43 | 显示全部楼层
    花了几分钟反了一下,你参考下吧,没细看,,应该差不多就是这样了.... BTW:那个音乐听着蛮蛋疼的说~~
    .
    .
    .
    .
    省略若干
    004012D9  fild    dword ptr [ebp-18]      ; 第一位用户名的ASCII = A
    004012DC  fstp    qword ptr [ebp-20]
    004012DF  fld     qword ptr [ebp-20]
    004012E2  fsub    qword ptr [481BB9]      ; A = ascii - 100
    004012E8  fstp    qword ptr [ebp-28]
    004012EB  push    80000601
    004012F0  push    dword ptr [ebp-24]
    004012F3  push    dword ptr [ebp-28]
    004012F6  push    1
    004012FB  mov     ebx, 00401E90
    00401300  call    00401DE9
    00401305  add     esp, 10
    .
    .
    .
    .
    .省略若干
    0040139F  add     esp, 4
    004013A2  pop     eax
    004013A3  mov     dword ptr [ebp-C], eax
    004013A6  push    80000004
    004013AB  push    0
    004013AD  mov     eax, dword ptr [526BC0] ; //机器码,,,,全局变量,汗~
    004013B2  test    eax, eax
    004013B4  jnz     short 004013BB
    004013B6  mov     eax, 00481BA1
    004013BB  push    eax
    004013BC  push    1
    004013C1  mov     ebx, 00402120
    004013C6  call    00401DE9
    004013CB  add     esp, 10
    004013CE  mov     dword ptr [ebp-14], eax
    004013D1  mov     dword ptr [ebp-10], edx
    004013D4  push    80000004
    004013D9  push    0
    004013DB  mov     eax, dword ptr [ebp-4]
    004013DE  test    eax, eax
    004013E0  jnz     short 004013E7
    004013E2  mov     eax, 00481BA1
    004013E7  push    eax
    004013E8  push    1
    004013ED  mov     ebx, 00402120
    004013F2  call    00401DE9
    004013F7  add     esp, 10
    004013FA  mov     dword ptr [ebp-1C], eax
    004013FD  mov     dword ptr [ebp-18], edx
    00401400  fld     qword ptr [ebp-1C]      ; A
    00401403  fmul    qword ptr [481BC1]      ; A × 10000000 = B
    00401409  fstp    qword ptr [ebp-24]
    0040140C  fld     qword ptr [ebp-14]      ; 机器码
    0040140F  fsub    qword ptr [ebp-24]      ; 机器码 - B = C
    00401412  fstp    qword ptr [ebp-2C]
    00401415  fld     qword ptr [ebp-2C]
    00401418  fadd    qword ptr [481BC9]      ; C + 2011 = SN
    0040141E  fstp    qword ptr [ebp-34]
    00401421  push    80000601
    00401426  push    dword ptr [ebp-30]
    00401429  push    dword ptr [ebp-34]
    0040142C  push    1
    00401431  mov     ebx, 00402330
    00401436  call    00401DE9
    0040143B  add     esp, 10
    .
    .
    .
    .
    .省略若干
    004014AB  mov     dword ptr [ebp-24], eax
    004014AE  mov     dword ptr [ebp-20], edx
    004014B1  fld     qword ptr [ebp-14]
    //=====================================
    004014B4  fsub    qword ptr [ebp-24]      ; 减法运算,传说中的关键比较,在易语言中是下面这个样子,哈~~
    004014B7  ftst
    004014B9  fstsw   ax
    004014BB  test    ah, 1
    004014BE  je      short 004014C2
    004014C0  fchs
    004014C2  fcomp   qword ptr [481BD1]
    004014C8  fstsw   ax
    004014CA  test    ah, 41
    004014CD  jnz     0040150D
    //=====================================
    004014D3  push    0
    004014D5  push    0
    004014D7  push    0
    004014D9  push    80000301
    004014DE  push    0
    004014E0  push    0
    004014E5  push    80000004
    004014EA  push    0
    004014EC  push    00481BD9                ; 注册码不对,请重试!
    004014F1  push    3
    004014F6  mov     ebx, 00402560
    004014FB  call    00401DE9
    00401500  add     esp, 28
    00401503  jmp     00401591
    00401508  jmp     0040153D
    0040150D  push    0
    0040150F  push    0
    00401511  push    0
    00401513  push    80000301
    00401518  push    0
    0040151A  push    0
    0040151F  push    80000004
    00401524  push    0
    00401526  push    00481BEE                ; 恭喜你,注册成功,放个小段子来奖励你一下!
    0040152B  push    3
    00401530  mov     ebx, 00402560
    00401535  call    00401DE9

    1. //注册机:
    2. {-------------------------------------------------------------------------------
    3.   过程名:    GetRegCode
    4.   作用:      计算注册码
    5.   作者:      piaoyun/P.Y.G
    6.   日期:      2010.12.20
    7.   参数:      sMachineCode,sUserName: string
    8.   返回值:    string
    9.   特别说明:  无
    10. -------------------------------------------------------------------------------}
    11. function GetRegCode(sMachineCode,sUserName: string):string;
    12. var
    13.   cUserNameIndex_1: Char;
    14.   bAsc: Byte;
    15.   dwSum: DWORD;
    16. begin
    17.   cUserNameIndex_1 := sUserName[1];
    18.   bAsc := Ord(cUserNameIndex_1) - 100;
    19.   dwSum := StrToInt(sMachineCode)- bAsc * 10000000;;
    20.   dwSum := dwSum + 2011;
    21.   Result := IntToStr(dwSum);
    22. end;
    复制代码

    评分

    参与人数 2威望 +40 飘云币 +60 收起 理由
    tianxj + 20 Delphi写的注册机,呵呵
    月之精灵 + 40 + 40 热心助人,哈哈

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2023-12-27 21:49
  • 签到天数: 85 天

    [LV.6]常住居民II

     楼主| 发表于 2010-12-20 09:12:17 | 显示全部楼层
    本帖最后由 foxjinlin 于 2011-3-28 08:23 编辑

    飘老大太强悍了,分析得不差毫厘啊。

    多谢,多谢,呵呵。

    音乐是蛋疼了些哦。

    放出源码。



    我的网速太慢,去掉了源码中的音乐换成了一个txt文件。

    本帖子中包含更多资源

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

    x
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-3 23:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2010-12-20 21:03:23 | 显示全部楼层
    老飘惊现,哈哈,楼上兄弟厉害
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2017-5-31 13:17
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2010-12-20 23:32:25 | 显示全部楼层
    /:013强大的对话
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-12-21 08:24:46 | 显示全部楼层
    理解了N大的话了,如果基础没打好,学到一定程度会有瓶颈!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-12-24 15:32:34 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-12-25 10:54:34 | 显示全部楼层
    绝好的钻研精神!支持
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2011-3-9 00:17:53 | 显示全部楼层
    新人报道,大家快乐
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2011-4-3 15:27:11 | 显示全部楼层
    学习之。。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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