首页
社区
课程
招聘
[讨论]一 CrackMe 求解 (C^3 mod eax)^3 mod edx
发表于: 2011-5-3 20:45 7203

[讨论]一 CrackMe 求解 (C^3 mod eax)^3 mod edx

2011-5-3 20:45
7203
在新人区看到的
http://bbs.pediy.com/showthread.php?t=133173

东西很简单是一个 SMC
算法在 401000 : M = (C^3 mod eax)^3 mod edx
请懂的人教一下解法
thx

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 105
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
额。。原来在这里公布有点消息了
刚看完老师用输入法软键盘写了俩小时单片机汇编的占位+路过
2011-5-3 22:20
0
雪    币: 242
活跃值: (473)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
3
Out[i]= In[i]
不好玩,太难算了 /:^| 我打幼儿园起就是数学白小痴。可能已经算错了一堆。

盯着一串div和mul郁闷了很久很久后发现:
//?
temp= (((in[i] mod low32) ^ 2 mod low32)^ 2)mod low32;//
Out[i]= (((temp mod hign32) ^ 2 mod hign32)^ 2)mod hign32;//mod
知道Out[0]==0x??????78
in[0]==0xce3f446e

学习了http://baike.baidu.com/view/1171192.html之后,发现*是可以被拆开的。多层mod可以被一直拆。
然后到了和S大一样的步骤了:
temp= (in[i] ^ 3) mod low32;//
Out[i]= (temp^ 3)mod hign32;//mod

((0xce3f446e^ 3) mod x)^ 3 mod y==0x??????78

0xce3f446e^ 3乘里面,每次的乘结果都只有低于x的位才影响mod的结果。
然后x不会大于0xffffffff.
mod x后的运算也是这样的。
有二个情况,假设x比0x81858A10大,假设x比0x81858A10小. 但只有一个0x78看着有点晕。

暂时就想到这么多:
(0x81858A10mod x)^ 3 mod y==0x??????78

稀里糊涂写了没用的一堆,然后我就伤脑筋了。mark了明天看。
2011-5-4 02:13
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
4
这算是 Dual RSA 吗 ?
2011-5-4 02:22
0
雪    币: 242
活跃值: (473)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
5
回复大S,我不知道什么是dual rsa。但看这个样子,按照九年义务教育的我理解,根据大S的提示,可以换成
out=temp* temp* temp mod y
这样就是y==n, 0x81858A10 mod x结果是RSA的加密后字符串d,同时也是e。 m=(c^2* e)%n
还是睡觉先,起来了找找RSA的算法加个随机x的进去试试看.32*32的1024应该还是有可能的。

不知道有没有研究密码学的可以看看...
2011-5-4 03:32
0
雪    币: 242
活跃值: (473)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
6
这两天忙着写东西,调试东西,要等几天后才能玩。大S发生了什么事情呢? :P
想偷懒学习了...
2011-5-6 08:24
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
7
除了那个78h
我认为除非能猜对至少一组DWord的明文才有可能.
而 edx 应该大于 F6D1E949
2011-5-6 17:46
0
雪    币: 95
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
大牛们的对话,太深了!
2012-7-3 21:32
0
游客
登录 | 注册 方可回帖
返回
//