一个新兴虚拟混淆加密授权壳难度测试CM
2022-8-16 00:1:46 Author: web安全工具库(查看原文) 阅读量:17 收藏

这是一款新壳 VLicense,作者号称难度比vmp还强,今天我们就来试试它的难度如何
它的取硬件ID的方式:
.子程序 VLicenseGetHwid, 文本型, 公开.局部变量 匿名局部变量_1, 整数型

置入代码 ({ 191, 0, 0, 0, 0, 184, 0, 0, 0, 0, 15, 162, 49, 199, 49, 223, 49, 207, 49, 215, 184, 2, 0, 0, 0, 15, 162, 49, 199, 49, 223, 49, 207, 49, 215, 184, 0, 0, 0, 128, 15, 162, 49, 199, 49, 223, 49, 207, 49, 215, 184, 1, 0, 0, 128, 15, 162, 49, 199, 49, 223, 49, 207, 49, 215, 184, 2, 0, 0, 128, 15, 162, 49, 199, 49, 223, 49, 207, 49, 215, 184, 3, 0, 0, 128, 15, 162, 49, 199, 49, 223, 49, 207, 49, 215 })置入代码 ({ 137, 125, 252 })返回 (编码_BASE64编码 (到字节集 (补齐8位 (十到十六进制 (匿名局部变量_1)))))
.子程序 base64_encode, 文本型.参数 匿名参数_1, 字节集.局部变量 匿名局部变量_1, 文本型.局部变量 匿名局部变量_2, 整数型.局部变量 匿名局部变量_3, 整数型
匿名局部变量_2 = 取字节集长度 (匿名参数_1)'.如果 (匿名局部变量_2 % 30) 匿名局部变量_3 = 到整数 (匿名局部变量_2 ÷ 3) × 4.否则 匿名局部变量_3 = (到整数 (匿名局部变量_2 ÷ 3) + 1) × 4.如果结束
匿名局部变量_1 = 取空白文本 (匿名局部变量_3)base64_encode0 (取变量数据地址 (匿名参数_1), 匿名局部变量_2, 取变量数据地址 (匿名局部变量_1), 匿名局部变量_3)返回 (匿名局部变量_1)
.子程序 base64_encode0, 整数型.参数 匿名参数_1, 整数型.参数 匿名参数_2, 整数型.参数 匿名参数_3, 整数型.参数 匿名参数_4, 整数型
置入代码 ({ 137, 236, 93, 131, 236, 68, 139, 68, 36, 84, 83, 86, 139, 116, 36, 88, 51, 219, 141, 80, 254, 199, 68, 36, 8, 65, 66, 67, 68, 199, 68, 36, 12, 69, 70, 71, 72, 199, 68, 36, 16, 73, 74, 75, 76, 199, 68, 36, 20, 77, 78, 79, 80, 199, 68, 36, 24, 81, 82, 83, 84, 199, 68, 36, 28, 85, 86, 87, 88, 199, 68, 36, 32, 89, 90, 97, 98, 199, 68, 36, 36, 99, 100, 101, 102, 199, 68, 36, 40, 103, 104, 105, 106, 199, 68, 36, 44, 107, 108, 109, 110, 199, 68, 36, 48, 111, 112, 113, 114, 199, 68, 36, 52, 115, 116, 117, 118, 199, 68, 36, 56, 119, 120, 121, 122, 199, 68, 36, 60, 48, 49, 50, 51, 199, 68, 36, 64, 52, 53, 54, 55, 199, 68, 36, 68, 56, 57, 43, 47, 136, 92, 36, 72, 136, 28, 6, 133, 210, 126, 118, 85, 87, 139, 124, 36, 88, 141, 110, 2, 131, 199, 2, 74, 193, 234, 2, 66, 139, 218, 106, 3, 193, 227, 2, 94, 15, 182, 71, 254, 193, 232, 2, 138, 68, 4, 16, 136, 69, 254, 15, 182, 79, 254, 15, 182, 71, 255, 35, 206, 193, 232, 4, 193, 225, 4, 11, 200, 138, 68, 12, 16, 136, 69, 255, 15, 182, 79, 255, 15, 182, 7, 131, 225, 15, 193, 232, 6, 193, 225, 2, 11, 200, 138, 68, 12, 16, 136, 69, 0, 141, 109, 4, 15, 182, 7, 3, 254, 131, 224, 63, 138, 68, 4, 16, 136, 69, 253, 131, 234, 1, 117, 169, 139, 116, 36, 96, 95, 93, 139, 68, 36, 84, 106, 3, 153, 89, 247, 249, 131, 234, 1, 116, 12, 131, 234, 1, 117, 14, 198, 68, 51, 255, 61, 235, 7, 102, 199, 68, 51, 254, 61, 61, 94, 51, 192, 91, 131, 196, 68, 195 })返回 (0)
.子程序 补齐8位, 文本型.参数 匿名参数_1, 文本型
.判断循环首 (取文本长度 (匿名参数_1) < 8) 匿名参数_1 = “0” + 匿名参数_1.判断循环尾 ()返回 (匿名参数_1)
.子程序 编码_BASE64编码, 文本型.参数 匿名参数_1, 字节集.局部变量 匿名局部变量_1, 整数型.局部变量 匿名局部变量_2, 字节型, , "3".局部变量 匿名局部变量_3, 整数型.局部变量 匿名局部变量_4, 字节集.局部变量 匿名局部变量_5, 整数型.局部变量 匿名局部变量_6, 字节集.局部变量 匿名局部变量_7, 整数型
匿名局部变量_5 = 取字节集长度 (匿名参数_1).如果真 (匿名局部变量_5 < 1) 返回 (“”).如果真结束匿名局部变量_1 = 匿名局部变量_5 % 3.如果真 (匿名局部变量_1 > 0) 匿名参数_1 = 匿名参数_1 + 取空白字节集 (3 - 匿名局部变量_1).如果真结束匿名局部变量_5 = 取字节集长度 (匿名参数_1)匿名局部变量_6 = 取空白字节集 (匿名局部变量_5 × 4 ÷ 3)匿名局部变量_7 = 1匿名局部变量_4 = 到字节集 (“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”).变量循环首 (1, 匿名局部变量_5, 3, 匿名局部变量_3) 匿名局部变量_2 [1] = 匿名参数_1 [匿名局部变量_3] 匿名局部变量_2 [2] = 匿名参数_1 [匿名局部变量_3 + 1] 匿名局部变量_2 [3] = 匿名参数_1 [匿名局部变量_3 + 2] 匿名局部变量_6 [匿名局部变量_7] = 匿名局部变量_4 [右移 (匿名局部变量_2 [1], 2) + 1] 匿名局部变量_6 [匿名局部变量_7 + 1] = 匿名局部变量_4 [左移 (位与 (匿名局部变量_2 [1], 3), 4) + 右移 (匿名局部变量_2 [2], 4) + 1] 匿名局部变量_6 [匿名局部变量_7 + 2] = 匿名局部变量_4 [左移 (位与 (匿名局部变量_2 [2], 15), 2) + 右移 (匿名局部变量_2 [3], 6) + 1] 匿名局部变量_6 [匿名局部变量_7 + 3] = 匿名局部变量_4 [位与 (匿名局部变量_2 [3], 63) + 1] 匿名局部变量_7 = 匿名局部变量_7 + 4.变量循环尾 ().如果真 (匿名局部变量_1 > 0) 匿名局部变量_5 = 取字节集长度 (匿名局部变量_6) .如果 (匿名局部变量_1 = 1) 匿名局部变量_6 [匿名局部变量_5 - 1] = 到字节 (取代码 (“=”, )) 匿名局部变量_6 [匿名局部变量_5] = 到字节 (取代码 (“=”, )) .否则 匿名局部变量_6 [匿名局部变量_5] = 到字节 (取代码 (“=”, )) .如果结束

.如果真结束返回 (到文本 (匿名局部变量_6))
它生成授权文件的方式是以下两种其中一种:用rsa私钥加密获取到的Hwid,或者是用获取到的Hwid加密 rsa私钥。得到密文就是注册码进入到壳解密
感觉难度整体不大,但无奈能力有限无法分析故提供两种破解方法参考,第一伪造Hwid,第二逆向分析VLicenseKeyGen.exe 生成key.ini的算法(key.ini生成的方式是 appid 填写壳的rsa私钥,客户机器码填写Hwid,即可生成Hwid对应的解密key)
附件包含了 授权测试dmeo 和 VLicenseKeyGen生成器 和dmeo对于的rsa私钥 以供测试参考
test dmeo:https://wwd.lanzouj.com/igh1O09jr9kf
VLicenseKeyGen :https://wwd.lanzouj.com/ims9z09jrt4j
demo没有key无法打开需要下载keygen自行生成key才能测试
免费评分
该内容转载自网络,更多内容请点击“阅读原文”

文章来源: http://mp.weixin.qq.com/s?__biz=MzI4MDQ5MjY1Mg==&mid=2247503669&idx=2&sn=c9eabe7f07de192550304a843632e203&chksm=ebb52036dcc2a9207da918c7397e08ed976cab64719021548ea62615c6c062dd930257694c59#rd
如有侵权请联系:admin#unsafe.sh