飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3952|回复: 1

[原创] 刚下的,再来一个,却还是简单的哟

[复制链接]
  • TA的每日心情
    奋斗
    2024-10-30 21:11
  • 签到天数: 453 天

    [LV.9]以坛为家II

    发表于 2006-10-2 21:44:33 | 显示全部楼层 |阅读模式
    还是从http://www.crackmes.de/下载Crackme

    注册成功,就听到一首歌,并在Edit中显示:valid Serial!

    name:
    2656461220   =============0x9E5661A4
    code:123456   ------------即0x1E240
    真注册码:3679971919 ---0xDB57EA4F

    0040394B    FF15 4C214300      call dword ptr ds:[<&USER32.GetDlgI>; USER32.GetDlgItemInt
    00403951    A3 E8574400        mov dword ptr ds:[4457E8],eax       ; 假注册码的十六进制形式:1E240
    00403956    68 40420F00        push 0F4240
    0040395B    6A 64              push 64
    0040395D    E8 FEFDFFFF        call KeyGenme.00403760              ; 关键Call,F7跟进
    00403962    83C4 08            add esp,8
    00403965    A3 FC574400        mov dword ptr ds:[4457FC],eax       ; 假注册码:1E240
    0040396A    8B15 E8574400      mov edx,dword ptr ds:[4457E8]       ; 真注册码:DB57EA4F
    00403970    3B15 EC574400      cmp edx,dword ptr ds:[4457EC]       ; 比较
    00403976    74 16              je short Keygenme.0040398E
    00403978    68 9C2A4300        push Keygenme.00432A9C              ; ASCII "Wrong Serial!"


    跟踪发现,软件在按确认按钮之前,就写入了真正的注册码!
    于是:
    OD载入,对004457EC下内存写入断点,F9运行,断下。

    00403810    55                 push ebp-------------在这里重新下断,看它怎么算出要写入的数据。
    00403811    8BEC               mov ebp,esp
    00403813    83EC 3C            sub esp,3C
    00403816    833D E4574400 00   cmp dword ptr ds:[4457E4],0
    0040381D    75 35              jnz short Keygenme.00403854
    0040381F    C705 E4574400 0100>mov dword ptr ds:[4457E4],1
    00403829    A1 04584400        mov eax,dword ptr ds:[445804]       ; 系统自动生成的注册名ID的16进制形式
    /////////////////////////////////////////////////////////////////
    ds:[00445804]=9E5661A4---------程序生成的注册ID 的16进制形式
    /////////////////////////////////////////////////////////////////
    00403829    A1 04584400        mov eax,dword ptr ds:[445804]      
    0040382E    6BC0 03            imul eax,eax,3                      ; 乘3
    00403831    A3 04584400        mov dword ptr ds:[445804],eax       ; 保存:DB0324EC
    00403836    8B0D 04584400      mov ecx,dword ptr ds:[445804]
    0040383C    81C1 63C55400      add ecx,54C563                      ; 加上0x54C563
    00403842    890D 04584400      mov dword ptr ds:[445804],ecx       ; 保存:DB57EA4F
    00403848    8B15 04584400      mov edx,dword ptr ds:[445804]
    0040384E    8915 EC574400      mov dword ptr ds:[4457EC],edx---------断在这儿

    =============================================================
    通过内存断点大法,可以找到:根据C 盘序列号算出的注册ID号过程在这里:
    004312E1    8BEC               mov ebp,esp
    004312E3    E8 081AFDFF        call Keygenme.00402CF0
    004312E8    0FAF05 FC574400    imul eax,dword ptr ds:[4457FC]
    004312EF    A3 F8574400        mov dword ptr ds:[4457F8],eax
    004312F4    5D                 pop ebp
    004312F5    C3                 retn
    ============================================================


    靠,依旧简单!
    ID * 3 + 0x54C563  就是注册码。


    21:25 2006-10-2
    by wofan[OCN][PYG][DCG]

    本帖子中包含更多资源

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

    x
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-10-3 13:04:34 | 显示全部楼层
    强,学习的榜样!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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