-
-
[求助]关于一个软件列表的算法分析求助
-
发表于:
2013-4-28 11:46
4383
-
一个软件,有一个软件的配置列表,但是经过加密了!第一层加密算法我解出来了,还有一个是通过一个key经过md5加密,然后16位相加取值和加密列表每一位进行or运算,但是这个key死活分析不出来了!麻烦大家帮忙看看!
00409B37 . 895D DC mov dword ptr [ebp-24], ebx
00409B3A . E8 37620000 call <CFile::Read(void *,uint)> //读取配置文件
00409B3F . 8BC6 mov eax, esi
=================================================
中间这里忽略,这里是进行的配置文件第一次解密!算法很简单!
=================================================
00409B85 . 897D D8 mov dword ptr [ebp-28], edi
00409B88 E8 530C0000 call <sub_40A7E0> //这里开始MD5加密key运算
00409B8D . 83C4 24 add esp, 24
=================================================
下面就是对解密后的列表进行软件MD5判断,如果发现与对应的软件MD5不同,就会报列表错误!
如果都正确软件启动!
注:00409b88这里的call是将第一次解密的数据按位与一个key的MD5加密进行运算,每一位都对上一次的加密key进行md5,但是这个初始的key我死活分析不出来!
如果有哪位兄弟有闲心帮忙看看,我就想把这个加密列表解密出来!
soft.rar
外部地址下载:
不带软件的【体积小但是报列表错误】
http://soft.bloodbird.com/soft-x.rar
带软件的【体积大但是可以正常启动】
http://soft.bloodbird.com/soft-d.rar
谢谢兄弟们帮忙看看,非盈利仅仅是学习算法!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)