吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

领取今日签到奖励
查看: 1279|回复: 15

[CrackMe] .Net编写的无壳困难CrackMe,破解有奖励,可以使用任何方法破解

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

本帖最后由 JemmyloveJenny 于 2019-2-11 16:41 编辑

看到这些天大家都在破解春节红包的那几个CrackMe,于是我也想编一个高难度的CrackMe玩一下!
自认为这个CrackMe的思路很新颖,验证方式也很独特。
CrackMe用C#.Net编写,没有加壳,仅仅对程序进行了混淆,大概就是IDA看F5逆向的难度。大部分代码都在Form_Input中。
程序中保留了所有注册码生成算法调用的函数,以方便大家爆破或Keygen。
搜狗截图20190211034929.png
将CrackMe解压到同一文件夹下即可开始破解
CrackMe的既视感是这样滴,一个用户名框,一个注册码框,对于输入没有限制。
注册成功会出现下图;不成功可能会出现“注册码错误”、“未知错误”、“Failed to load Core”三种错误
"注册码错误"就表示你注册码错误
“未知错误”字如其名,我也不知道出错原因,可以回帖写出你的注册码我来看看。
"Failed to load Core"错误,请确保CrackMe文件夹下存在Core_Real.dat和Core_Trial.dat
搜狗截图20190211115504.png
注册成功窗口也就是核心代码窗口,实际上是一个类似于Google Authenticator的TOTP验证器。注册成功后只要点击复制验证码,把结果提交到本帖即可,我可以对结果进行验证。
TOTP验证器产生数字的Secret由一段固定Secret和一段与用户名有关的Secret合成。合成后的Secret参数会传入到TOTP.dll中实现……所以你懂的

我给出一组试用版的用户名和注册码
用户名:Trial,注册码:KKKWWGNQWMANKXA3HC。

试用版和正式版几乎没有差别,仅仅是TOTP的Secret参数不同而已。我给出的试用版注册码也有可能泄露一些其他参数,因此设置了两个版本。试用版给出注册码,让大家可以体验到CM的注册流程;正式版不给注册码,保证正式版破解的难度。

然后说一下奖励:
1.爆破任意版本奖励20CB(奖励比较高,因为理论上说,这个CM很难爆破……反正我看源码也爆不了)
2.自己创造出一组注册码,试用版奖励10CB,正式版奖励30CB(注册成功后将复制的验证码回复到本帖,标明注册版本!)编写出Keygen另外奖励20CB。
3.逆向出任意版本TOTP验证器中(合成Secret、固定Secret、用户名)三者关系,奖励10CB;提取出试用版固定Secret参数,奖励5CB;正式版固定Secret参数10CB
4.逆向出CM的核心代码保护流程以及原理,奖励5CB。

最后是 附件啦
CrackMe3.zip (804.45 KB, 下载次数: 37)

免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
MXWXZ + 2 + 1 我很赞同!
CrazyNut + 6 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

 楼主| 发表于 2019-2-11 13:04
本帖最后由 JemmyloveJenny 于 2019-2-11 13:10 编辑

emmm还想给一点提示
注册码的解码函数我在上一个CM里用过, https://www.52pojie.cn/forum.php ... 619169&pid=16444143 被大神破解了
程序里是带有编码函数的,不必要自己重新编写。
里面有些RSA的幺蛾子……虽然Modulus只有90bit很好分解,但是为了方便大家,我还是把密钥对放出来:
Modulus="AhzSIFmr3hdGCJmP"
public_Exponent="AQAB"
private_Exponent="FJbPUnqdx3AVwbk="
Base64解密后就是数字本身了

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
xie532621 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发表于 2019-2-11 22:11
本帖最后由 MXWXZ 于 2019-2-11 22:49 编辑

偷懒用了楼上的clean版的程序,看的舒服一点
整理一下思路:首先那两个按键最终响应函数都是一样的,区别就是使用的文件不同(Core_Real和Core_Trial)
1.png
下面看看主函数,都有注释
2.png
注册码有两层函数,首先看一下第一层:
2_5.png
这个就是做一下运算,都是可逆的没啥,第二层:
2_75.png
这其实就是RSA的核心算法了,具体的可以去查资料,跟函数可以得到e=65537 n=653812236310615020475554191
yafu一下秒出:
p = 28192692348517
q = 23190840669923
d = 24890695783982426326679993
3.png
解密文件的函数:
4.png
C#不太熟并不知道CryptoStream咋用,反正应该就是AES解密文件了,密钥就是上面的sha值
下面就是一些显示的东西没啥了,如果密钥正确就解密成功,里面dump下来就是一个窗口的数据,没有什么混淆啥的基本等于脱光了给你看了
5.png
接着就是爱咋搞咋搞了。

呼,连看带记差不多一个小时,思路挺不错,直接把功能程序给加密了,应用的话可以搞个联网认证啥的而且丝毫不虚爆破(更丧心病狂一点,不附带功能数据验证成功后再各种加密发送……你连功能程序都没有爆破个球),但是问题也有,关键就在这个Key上,一旦泄露一个注册码就为所欲为了。

至于正式版的破解,有几个思路待验证,吃个夜宵先~
不存在的,AES256除非给码否则无解……
发表于 2019-2-11 16:04
本帖最后由 csftech 于 2019-2-11 16:12 编辑

[试用版]
CrackMe3.exe,直接 de4dot 就 OK 了,虽然要下一点参数,不过那个应该很多人都知道就不说了 (dr~~~)。
题目是 CM,我先直接 dump 解密后的 Core_Trial.dat,它是个 .Net Assembly (无混淆)
core_trial.PNG

验证器逻辑如楼主所说,含有一组固定 secret,直接取用户名字组去做 TOTP 运算。
我写了个简单的 caller 去呼叫验证器,用户名部份我写成固定的 "Trial",可从专案直接改。
这样应该算是半个 keygen 了,有空再来解正式版和前面解密的部份。
Core_Trial_Keygen.zip (18.79 KB, 下载次数: 6)

免费评分

参与人数 2吾爱币 +3 热心值 +2 收起 理由
CrazyNut + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
JemmyloveJenny + 1 + 1 分析很正确!尝试正式版吧!

查看全部评分

发表于 2019-2-11 16:09
完全不会算法,学了一下ModPow是什么东西,然后靠你留下来的方法keygen了试用版,RSA实在不会,不知道怎么弄正式版的,只能这样了
Snipaste_2019-02-11_16-07-26.png Snipaste_2019-02-11_16-07-53.png
第一个图里面,断点上一行的strKey是keygen出来的key
然后复制出的结果,别的都不会了
1549872576:Trial:05453982
 楼主| 发表于 2019-2-11 16:20
wwh1004 发表于 2019-2-11 16:09
完全不会算法,学了一下ModPow是什么东西,然后靠你留下来的方法keygen了试用版,RSA实在不会,不知道怎么 ...

你要用自己的用户名和注册码来注册试用版,再复制验证码
你现在复制的验证码是Trial的,不过你的注册码确实正确!
发表于 2019-2-11 16:32
JemmyloveJenny 发表于 2019-2-11 16:20
你要用自己的用户名和注册码来注册试用版,再复制验证码
你现在复制的验证码是Trial的,不过你的注册码 ...

好吧,可能复制错了,程序开了好几个,忘了哪个窗口了

1549873892:Trial:42308669

这样么?
 楼主| 发表于 2019-2-11 16:33
wwh1004 发表于 2019-2-11 16:32
好吧,可能复制错了,程序开了好几个,忘了哪个窗口了

1549873892:Trial:42308669

嗯,这样的对了!
发表于 2019-2-11 21:05
先插个眼.做完单子再好好看...

撩了一眼Form_Input.
里面有几个 看着很眼熟的东西...
File.ReadAllBytes
Type type = Assembly.Load(array).GetType(yu2XUkVf8chkOx5N5I.FVHwEwDkM);
(Form)Activator.CreateInstance(type2, args);

这貌似都把dat给加密了...正式版难度不小呀.
 楼主| 发表于 2019-2-11 21:54
本帖最后由 JemmyloveJenny 于 2019-2-11 21:56 编辑
aisht 发表于 2019-2-11 21:05
先插个眼.做完单子再好好看...

撩了一眼Form_Input.

嗯~分析挺正确的,所以说这个CM我看源码都没法爆破……
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则


免责声明:
吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Service@52PoJie.Cn

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2019-3-26 06:14

Powered by Discuz!

© 2001-2017 Comsenz Inc.

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