iTruth 发表于 2021-5-20 15:38

比较简单的CM,来练练手?

距离上次发CM也有一段时间了,之前一直都没有时间。今天刚好有空写了个CM来玩玩
这个CM无花,无壳,无反调试和反附加,C语言编写。破解方法不限
成功截图:


CM本体:


源代码(解压密码就是你输入的东西):

fnv1c 发表于 2021-5-20 21:59

本帖最后由 fnv1c 于 2021-5-20 22:18 编辑

谢谢你楼主,我感觉高考数学题的三角函数我能一眼秒掉了{:1_932:}
8位密码,7位明文,密码ascii加完偏移之后记为password,password是某个数学公式的系数/指数
明文的第8位是c-style string的null termination,相当于已知明文,可以算出来password
然后password倒回来算输入即可。这题算是个ReMe,必须要逆出来正确的密码才能解压缩包
(通过一堆奇怪的浮点计算来卡symbolic execution真是个好创意)

iTruth 发表于 2021-5-21 13:24

看起来也没人会继续尝试了,我大致的说一下这个CM吧
首先密码: #52pojie
这个CM正如@fnv1c大神所说,密码8位明文7位。这个通过很多途径能看出来就不再赘述了。
只是大家似乎都不太了解积分和倍角公式呀。密码的第一个字符是二重积分的一个积分上限+22,并且使那个积分的计算结果是1/24。其实你只要画个图很容易就能知道那个数应该是1
并且你会发现任何大于1的数计算结果都是一样的所以其实这个程序你要是后面的52pojie对了在任何大于'#'的字符下都会解码,算是一个设计失误 = =
密码的1-7位是七倍角公式的系数和指数,这个看到“sin(7*key)==”应该就能知道了,也就不再赘述了。你要是忘记了用棣莫弗定理也能很快得出来
最后你拿这些得到的原始密码重新加上g_map1里的偏移就是真正的密码了

weikun444 发表于 2021-5-20 16:20

这里算不算突破口?码表?

byh3025 发表于 2021-5-20 16:04

爆破不行,显示的是乱码,

weikun444 发表于 2021-5-20 16:14

byh3025 发表于 2021-5-20 16:04
爆破不行,显示的是乱码,

解密后的字符串要是success才行!

byh3025 发表于 2021-5-20 16:16

weikun444 发表于 2021-5-20 16:14
解密后的字符串要是success才行!

是啊,输入的不正确是不会解码的

龙神邪少 发表于 2021-5-20 17:44

hldking 发表于 2021-5-20 19:18

jokony 发表于 2021-5-20 20:15

FuSu_ChunQiu 发表于 2021-5-20 23:05

fnv1c 发表于 2021-5-20 21:59
谢谢你楼主,我感觉高考数学题的三角函数我能一眼秒掉了
8位密码,7位明文,密码ascii加完偏移之 ...

大哥,我看不懂,你能说一下密码吗,我想研究一下源码
页: [1] 2
查看完整版本: 比较简单的CM,来练练手?