吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2933|回复: 50
收起左侧

[CrackMe] 易语言的第一天CM

[复制链接]
头像被屏蔽
xhao屁孩 发表于 2022-11-13 01:16
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。

提示: 作者被禁止或删除 内容自动屏蔽

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

htpidk 发表于 2022-11-13 22:56
本帖最后由 htpidk 于 2022-11-14 01:03 编辑


关键的密码对比函数


因为调用的是虚函数,静态调试不知道虚函数地址,所以用OD得到这个函数的地址


通过传参可以确定进入箭头分支



这里多点几个函数进去就能看到很多调用COM方法时的代码,所以能确定是用的某个COM组件里的方法来对比密码,其实到这里基本就能确定调用的是ScriptControl对象了

知道这些后用OD调试简单很多,下cocreateinstance断点,对照COM对象的CLSID,确定接口iunknown的地址,然后在这个接口第一个方法queryinterface下断,找到idispatch的接口地址,实际用到的IScriptControl是继承自idispatch接口的,在虚函数表里第27和29个偏移处的addcode和executestatement两个添加JS代码的方法下断,最后断在executestatement,在这个方法下断,段下后就能看到JS代码
[JavaScript] 纯文本查看 复制代码
function i(key) {
    return g(key)
}

function g(_0x5d078) {
    var _0x2cede8 = '%E5%8A%A0%E6%B2%B9%E5%99%A2!';
    var _0x147883 = _0x5d078['split']('i');
    var _0x521613 = _0x5d078['length'];
    if (_0x521613 == (0x8ce98 ^ 0x8ce9e)) {//0x8ce98 ^ 0x8ce9e=6
        _0x2cede8 = '%E6%81%AD%E5%96%9C%E4%BD%A0';
        try {
            console['log'](kk);
            if (_0x147883[_0x521613] == '') {//_0x521613=6
                _0x2cede8 = '%E6%88%90%E5%8A%9F%E4%BA%86%E4%B8%80%E5%8D%8A!';
            }
        } catch (_0x43299d) {
            if (_0x147883['length'] > (0x8ecbc ^ 0x8ecbc) && _0x147883[0xf287c ^ 0xf287d] == 'e') {//0xf287c ^ 0xf287d=1
                _0x2cede8 = _0x2cede8 + '%E6%88%90%E5%8A%9F%E4%BA%86!';
            }
        }
    }
    return _0x2cede8;
}

这就很好明白了,首先密码长度要为6,然后密码用i分割取到数组,第二个字符要为e,所有满足这个条件的密码都可以,另外流程会触发异常进入catch里(console.log和kk未定义?),例如2iei34


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
xhao屁孩 + 2 + 1 我很赞同!

查看全部评分

ShuShuLaiLo 发表于 2022-11-13 19:51
L"0x5d078['length'];
if(_0x521613==(0x8ce98^0x8ce9e))
{
        _0x2cede8='%E6%81%AD%E5%96%9C%E4%BD%A0';
        try
        {console['log'](kk);
        if(_0x147883[_0x521613]=='')
        {_0x2cede8='%E6%88%90%E5%8A%9F%E4%BA%86%E4%B8%80%E5%8D%8A!';}}
catch(_0x43299d)
{
        if(_0x147883['length']>(0x8ecbc^0x8ecbc)&&_0x147883[0xf287c^0xf287d]=='e')
        {_0x2cede8=_0x2cede8+'%E6%88%90%E5%8A%9F%E4%BA%86!';}
}
}
return _0x2cede8;
}"


译文:
L"0x5d078['length'];
if(_0x521613== 6 )
{
        _0x2cede8='恭喜你';
        try
        {        console['log'](kk);
                if(_0x147883[6]=='')
                {_0x2cede8='成功了一半!';}
        }
        catch(_0x43299d)
        {
                if(_0x147883['length']> 0 &&_0x147883[1]=='e')
                {_0x2cede8=_0x2cede8+'成功了!';}
        }
        }
        return _0x2cede8;
        }"

到这一步咋办呢?
头像被屏蔽
jdjking 发表于 2022-11-13 10:12
头像被屏蔽
fateygyyan 发表于 2022-11-13 10:33
提示: 该帖被管理员或版主屏蔽
头像被屏蔽
stop179 发表于 2022-11-13 10:33
提示: 该帖被管理员或版主屏蔽
温总 发表于 2022-11-13 10:47
易语言=中文版VB
weikun444 发表于 2022-11-13 11:10
只出来个恭喜你,没有成功了字样,估计是后便还有计算,无奈,不懂算法

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x
DarkLInkBrit 发表于 2022-11-13 12:11
看起来有多重判断 下载试试
liuhui12138 发表于 2022-11-13 12:12
尝试一下
头像被屏蔽
lemon123654 发表于 2022-11-13 12:34
提示: 该帖被管理员或版主屏蔽
hkhkhk 发表于 2022-11-13 13:16
如何从0学习呢,有没有推荐的课程
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 11:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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