飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5551|回复: 3

[原创] oMega Commander2.3破解及注册算法分析

[复制链接]
  • TA的每日心情
    奋斗
    2019-1-7 16:21
  • 签到天数: 35 天

    [LV.5]常住居民I

    发表于 2018-4-13 11:00:11 | 显示全部楼层 |阅读模式
    本帖最后由 d8ln3x 于 2018-4-13 11:07 编辑

    软件下载:http://pylonos.com/download/omega/oMega_2.3.14.4267.exe

    1、安装软件后用Exeinfo和PEID查看相关信息,显示无壳、Delphi 2014写的程序
    1.PNG

    2、运行程序About窗口显示notregistered!
    2.PNG
    2、OD加载程序,运行尝试注册,弹出错误提示窗口。通过字符搜索、F12暂停法、对ShowWindow\CreateWindow\CreateWindowExW等API下断,没有找到合适突破口。3、利用OD脚本对delphi事件下断点后,尝试注册,程序被断下来。4、进行调用栈回溯,同时F8单步运行,并注意堆栈以及寄存器面板上数据信息。经过多次调用栈回溯后,在如下位置找到注册信息,猜测已经接近程序注册代码。
    3.png

    4.png

    5、对注册信息的相应内存位置下硬件访问断点,在kernelbase.dll模块中断下来,查看调用栈,发现是将license字符串进行宽字符转多字节:
    7.png
    6、对转换后的字符串下硬件访问断点,继续运行,程序断下来:
    5.png

    7、F8单步这段程序发现是对注册的name进行一些计算处理,非常可疑,并且有几处循环调用。继续执行程序,从这段程序运行返回上一层后,寄存器面板上发现一些字符串信息,有可能是真license。将该字符串“7a7oueemvh9qvfwhx” copy出来,尝试注册了一下,注册成功。
    8.png

    9.png 10.png

    8、将注册信息删除后,重新注册,继续跟踪注册验证代码。重新来到license生成的代码段,下一个call就是验证license,代码比较短,分析如下:
    11.png

    9、接下来是关键跳转,验证call返回0,则通过PostMessageW函数给注册窗口发送验证通过的消息(MSG=0x499),否则发送验证失败消息(MSG=0x496)。
    12.png

    10、几种爆破方法:
    a) 0x007DCCA9处calloMega32.00408C94  ==> 直接返回0
    b) 0x007DCCAE处jnz short oMega32.007DCCC6==> nop掉
    c) 0x007DCCCA 处将发送验证失败消息0x496==> 改为0x499
    d)  ......


    11、license算法分析:

    13.png
    14.png

    12生成注册码的代码实现:
    [C] 纯文本查看 复制代码
    int main(void)
    {
            WCHAR name[] = L"d8ln3x";
            char sz_src[] = "e9k@nG~3jxIo)b0S3";
            char sz_license[sizeof(sz_src)] = {0};
            DWORD T1[6] = { 0x11, 0x6b, 0x49, 0x0d, 0x0b, 0x03 };
            // 11 00 00 00 6B 00 00 00 49 00 00 00 0D 00 00 00 0B 00 00 00 03 00 00 00
    
            UINT name_bytes_len = sizeof(name) - sizeof(WCHAR);//去掉尾部0
            UINT src_len = sizeof(sz_src) - sizeof(char);
            int data = 0;
            for (int i = 0, idx = 0; i < name_bytes_len; i++)
            {
                    if ((i + 1) & 1)
                    {
                            data += T1[idx] * (((char *)name)[i]);
                    }
                    else {
                            data -= T1[idx] * (((char *)name)[i]);
                    }
                    if (++idx > 5)
                    {
                            idx = 0;
                    }
            }
    
            UINT name_len2 = name_bytes_len - 1;
            for (int i = 0, idx = 1, j = name_len2; i < src_len; i++)
            {
                    int tmp = 0;
                    tmp += T1[idx] * sz_src[i];
                    tmp += T1[idx] * j;
                    tmp += T1[idx] * (((char *)name)[name_len2 - j] + ((char *)name)[j]);
                    char lic_byte;
                    UINT mdata = (data + tmp) % 0x24;
                    if (mdata >= 0x1A)
                    {
                            lic_byte = mdata + 0x16;
                    }
                    else {
                            lic_byte = mdata + 0x61;
                    }
                    sz_license[i] = lic_byte;
    
                    if (++idx > 5) {
                            idx = 0;
                    }
                    if (--j < 0)
                    {
                            j = name_len2;
                    }
            }
            printf("\"%ws\" license key is: %s\n", name, sz_license);
    }
    


    运行结果:
    15.png

    评分

    参与人数 4威望 +40 飘云币 +40 收起 理由
    Rooking + 20 + 20 很给力!
    wgz001 + 8 + 8 赞一个!
    echo + 8 + 8 感谢发布原创作品!
    阳光宅男 + 4 + 4 PYG有你更精彩!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-10-21 17:30
  • 签到天数: 747 天

    [LV.9]以坛为家II

    发表于 2018-4-13 11:06:40 | 显示全部楼层
    羡慕会算法的大神
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-1-7 16:21
  • 签到天数: 35 天

    [LV.5]常住居民I

     楼主| 发表于 2018-4-13 11:11:15 | 显示全部楼层
    追梦 发表于 2018-4-13 11:06
    羡慕会算法的大神

    我也是菜鸟。。。呵呵。。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-7-17 13:00
  • 签到天数: 975 天

    [LV.10]以坛为家III

    发表于 2018-4-13 12:08:55 | 显示全部楼层
    厉害了大表哥,羡慕算法大神
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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