破解练习-CRACKME008

查看 63|回复 3
作者:逸聆君   
008-注册算法分析
一、工具和调试环境
  • PE信息查看工具:Die
  • 动态调试工具:x64dbg
  • 系统环境:win10 1909

    二、分析用户名/注册码的算法
    2.1运行程序
    只有一个key编辑框和ok按钮,直接点击ok按钮会报错


    008-01.png (16.93 KB, 下载次数: 0)
    下载附件
    2023-2-4 20:14 上传

    2.2查壳
    用Die查壳,无壳,vb程序
    2.3详细分析
    既然有提示字符串,直接上x64dbg搜索字符串


    008-02.png (28.68 KB, 下载次数: 0)
    下载附件
    2023-2-4 20:14 上传

    字符串很少,不过几乎都是我们需要的,直接双击跟过去看看。


    008-03.png (241.71 KB, 下载次数: 0)
    下载附件
    2023-2-4 20:14 上传

    向上不远处就能找到疑似关键跳转,通过测试确定0x401D9D处就是关键跳转。


    008-04.png (194.57 KB, 下载次数: 0)
    下载附件
    2023-2-4 20:14 上传

    貌似vb程序的比较都是上图红框中的格式,这个地方的推算已经在002中讲过,如下
    ; eax = __vbaStrCmp(str1, str2)的返回值, 相等返回0
    mov esi, eax
    neg esi             ; 当 eax = 0 时, esi = 0, eax != 0 时,esi = -1
    sbb esi, esi        ; 当 eax = 0 时, esi = 0, eax != 0 时,esi = -1
    inc esi             ; 当 eax = 0 时, esi = 1, eax != 0 时,esi = 0
    neg esi             ; 当 eax = 0 时, esi = -1, eax != 0 时,esi = 0
    ; 即 str1 与 str2 相等时, esi = -1, 不相等时, esi = 0
    也就是ecx指向的缓冲区中的字符串和SynTaX 2oo1一样,猜测可能ecx指向的缓冲区就是我们输入的key,经测试确实如此。那么该cm就结束了。
    没有什么算法。key就是一串固定的字符串SynTaX 2oo1

    下载次数, 字符串

  • bj9ye666   

    破解从小白抓起
    hxs1   

    厉害,学技术,一直学不会爬虫,编程
    hxs1   

    厉害,学习
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部