吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 34767|回复: 87
收起左侧

[原创] XX录屏软件密码的一些破解思路

  [复制链接]
wmsuper 发表于 2017-2-28 17:55
本帖最后由 zjh16529 于 2019-6-6 18:50 编辑

0x01 哈希
1.首先拿到exe,载入exeinfo中,发现有附加数据,可以判断视频数据是存在附加数据中的。
2.字符串搜索,找到如下地方,并下断
4V08LS4N4UNR19Q}5{K%L.png
3.断下来之后,发现一个函数,命名为hash2005,它接受一个字符串,并算出它的摘要值,对比正确的值,不对就弹框,在这里可得到正确的hash值0x1443
[37VTXAUTKH)MBQ7B56YI5E.png
4.进入这个hash2005函数,通过IDA分析,发现这个函数很简单,也由此知道,一般而言密码长度越长,使用的字母越多,hash2005就越大,同时可以推测出密码大概长度7以上
I~5K{28H`1BW[XETHZCIJA4.png
5.那么通过尝试所有密码,对比它的hash值是否正确来判断是否是正确密码可不可行?很明显,跑出的hash值相同的密码有很多,无法确定哪个是正确密码。


0x02 解压
1.继续往下分析,把验证hash值那里强制改为跳转。
L2T]AC]}VXBY8%Q$$C$JEJH.png


2.通过字符找到对应的地方下断,断在函数头,一步步跟踪,发现有一处是对输入密码进行xor的,一共xor 20个字节,密码长度不够用00扩展,密码xor的值在一个压缩块中总是不变的。
RJ}J~GYRC77~G0A4J`R_(2C.png


3.把得到的值memcpy到待解压数据的固定位置。
VZ7{A6K9Z1~P}QRMFXR}9G1.png
跟进去就是memcpy操作了,记下修改的数据相对于压缩数据头的偏移0x15ed,这里的技巧就是对xor的结果下内存读断点。
Y(]XMPDRK~}[80@F8QVS$DE.png

4.解压数据,用的是zlib的解压缩库
(10QP2SEF6YLY77[J}UR05Y.png
这是怎么判断出来的呢?,首先跟进去,这里有个字符串1.1.4
42T(QII2{KW]61VVU{4%6)1.png
下面是zlib的代码片段,uncompress会使用zlib库的版本号进行inflate初始化操作
[C] 纯文本查看 复制代码
#define ZLIB_VERSION "1.1.4"
#define inflateInit(strm) \
        inflateInit_((strm),                ZLIB_VERSION, sizeof(z_stream))



5.根据上面可以知道,待解压的数据里面的的20个字节是由输入的密码异或得到的,密码不对就会解压错误(强行跳转并不管用,得到的数据错误的,播放器也就根本无法播放)
由此我们可以得到一个简单的破解思路,先把待解压的数据dump下来,记下修改的那个20个字节的偏移,通过枚举来尝试出正确的hash值同时又能解压成功的密码。
算法很简单,几位密码就几个for,关键代码如下:
[C] 纯文本查看 复制代码
char c[]="0123456789abcdefghijklmnopqrstuvwxyz";    
    for(a7=0;a7<36;a7++)
    for(a6=0;a6<36;a6++)
    for(a5=0;a5<36;a5++)  
    for(a4=0;a4<36;a4++)  
    for(a3=0;a3<36;a3++)  
    for(a2=0;a2<36;a2++)  
    for(a1=0;a1<36;a1++)  
    for(a0=0;a0<36;a0++)  
    {                 
        buf[0]=c[a0],buf[1]=c[a1],buf[2]=c[a2],buf[3]=c[a3],buf[4]=c[a4],buf[5]=c[a5],buf[6]=c[a6];buf[7]=c[a7];
        hash=hash2005(buf);
        if(hash==0x1443)
        {   
            xordata(res,buf);
            memcpy(pdata[*id]+offset, res, 20);
            if(uncompress(dbuf, &dlen, pdata[*id], size)== Z_OK)
            {  // crack success
                printf("%s\n",buf);
                return;

           }

        }
        pcount[*id]++;
    }  


6.在选取dump数据时,由于软件是分块解压的,要选取比较小的块,解压才快,跑密码才快。我选的是size=0x2bdf这个块。

0x03 总结
1.在实际使用中,破解纯数字密码是可能的,但是如果是8位以上的数字+字符就比较久了,在我的笔记本跑8位密码跑了20个小时(代码写得太挫了),可以通过判断hash来看密码是否复杂,破解之前想想是否有必要去破解,代价是否过大?
2.耗费是时间主要集中在uncompress这个函数上,解压长度越小速度越快,由于没有合适的算法去验证这个数据是否为可解压的,导致只能用uncompress来尝试。
3.如果各位大神有啥好的想法,还望不吝赐教。
4.源码和例子所使用的exe程序
[HTML] 纯文本查看 复制代码
http://pan.baidu.com/s/1dEVZm6X
   6o8p

Y(]XMPDRK~}[80@F8QVS$DE.png

免费评分

参与人数 40威望 +2 吾爱币 +45 热心值 +36 收起 理由
赤魂煌 + 1 + 1 谢谢@Thanks!
千秋霸业 + 1 这个软件,有点。。。
四海一族 + 1 + 1 谢谢@Thanks!
最爱死神 + 1 + 1 谢谢@Thanks!
peter_king + 1 谢谢@Thanks!
993677088 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
银河奥特曼04 + 1 + 1 我很赞同!
无的世界零 + 1 + 1 用心讨论,共获提升!
CROW_df + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
soyiC + 1 + 1 热心回复!
heavy_fire + 1 + 1 云里雾里
z.sxdc + 1 我很赞同!
a5606495 + 1 + 1 热心回复!
lmkiwwx + 1 + 1 我很赞同!
zgqc + 1 已经处理,感谢您对吾爱破解论坛的支持!
lss680460ok + 1 楼主你的成果是不是拿出来给我们借鉴借鉴
狐狸爱葡萄 + 1 + 1 我很赞同!
天国先生 + 1 + 1 我很赞同!
温柔xxx + 1 + 1 谢谢@Thanks!
小青蛙的蚊子 + 1 + 1 谢谢@Thanks!
木子逍遥 + 1 用心讨论,共获提升!
MagicnoBob + 1 + 1 我很赞同!
Three_fish + 1 + 1 谢谢@Thanks!
dadao815 + 1 + 1 用心讨论,共获提升!
3edp + 1 + 1 很强势
jiazhiyuan0325 + 1 + 1 已答复!
生活生活 + 1 + 1 我很赞同!
玖卿 + 1 + 1 我是来找成品的
心寒的 + 1 用心讨论,共获提升!
xiaopang1106 + 1 + 1 请输入播放密码是什么啊?
a476376832 + 1 + 1 我很赞同!
beatone + 1 + 1 我很赞同!
Hmily + 2 + 10 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Intro + 1 + 1 已答复!
jht168888 + 1 + 1 谢谢楼主的思路
时光1飞逝 + 1 + 1 谢谢@Thanks!
我用十元买切糕 + 1 + 1 我很赞同!
bossangel + 1 + 1 谢谢@Thanks!
微若清风 + 1 + 1 谢谢@Thanks!
天道酬勤啊 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

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

h0314 发表于 2017-2-28 22:56
老厉害了,谢谢分享
aiCc 发表于 2017-2-28 18:39
支持楼主!                                                                          
xzst110 发表于 2017-2-28 18:23 来自手机
小粉B 发表于 2017-2-28 18:39
用的是C吗??、
绘梨衣 发表于 2017-2-28 20:30
干货贴~支持楼主
Dream_lrj 发表于 2017-2-28 20:43
厉害。顶一个。
hworld 发表于 2017-2-28 21:03
大神的杰作啊,支持一下。
lwz373146809 发表于 2017-2-28 21:16
看不太懂,帮顶,就喜欢这样的文章
yangyhappy 发表于 2017-2-28 22:11
,好思路,谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-15 14:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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