首页
社区
课程
招聘
[分享]IDA_Patch_KEYGEN源码
2023-12-1 22:37 5528

[分享]IDA_Patch_KEYGEN源码

2023-12-1 22:37
5528
收藏
点赞10
打赏
分享
最新回复 (30)
雪    币: 13465
活跃值: (4793)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 2023-12-4 16:33
26
0
楼上b!@nk 病得不轻。分不清是非
雪    币: 5529
活跃值: (16450)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
wusha 2023-12-5 00:15
27
1

根据前面大佬帖子的指引,晚上试了下,成功的解决了疑问 

原始N:

93AF7A8E3A6EB93D1B4D1FB7EC29299D2BC8F3CE5F84BFE88E47DDBDD5550C3CE3D2B16A2E2FBD0FBD919E8038BB05752EC92DD1498CB283AA087A93184F1DD9DD5D5DF7857322DFCD70890F814B58448071BBABB0FC8A7868B62EB29CC2664C8FE61DFBC5DB0EE8BF6ECF0B65250514576C4384582211896E5478F95C42FDED 

它是个合数,要想得到私钥D,必须先找到因子P/Q,然后根据φ(N)=(P-1)*(Q-1)得到φ(N),再由D = 1/E mod (φ(N))得到私钥D,但大数分解为P/Q是很难的,所以已知公钥N/E是没办法拿到D的. 


但大佬们找到一个好办法(前提是没有签名,不验证N合法性),更改N(改变一个字节,5C-->CB)变成一个素数,而素数的φ(N)=N-1 就直接拿到了,再由D = 1/E mod (φ(N))就可以拿到D,直接GAME OVER.


使用RDLP工具测试通过

N1:93AF7A8E3A6EB93D1B4D1FB7EC29299D2BC8F3CE5F84BFE88E47DDBDD5550C3CE3D2B16A2E2FBD0FBD919E8038BB05752EC92DD1498CB283AA087A93184F1DD9DD5D5DF7857322DFCD70890F814B58448071BBABB0FC8A7868B62EB29CC2664C8FE61DFBC5DB0EE8BF6ECF0B65250514576C4384582211896E5478F9CB42FDED


φ(N):93AF7A8E3A6EB93D1B4D1FB7EC29299D2BC8F3CE5F84BFE88E47DDBDD5550C3CE3D2B16A2E2FBD0FBD919E8038BB05752EC92DD1498CB283AA087A93184F1DD9DD5D5DF7857322DFCD70890F814B58448071BBABB0FC8A7868B62EB29CC2664C8FE61DFBC5DB0EE8BF6ECF0B65250514576C4384582211896E5478F9CB42FDEC


E:13


D:7498027049140B81158DBAB99F7ED002D1B9980EB732E85947E7E4F42F2832151FA6562B67D4D8A0A3221ED1045DC0F0B9258FF611A4F8B8C99AE78199ED9E4DAEC2F9579F3FF31C79C4A219B6EAA4002F8235D8634E1C7A01D332571D710D64DD64D44D814126B7BF8D60167845A5B1BE47FF687B79364413BBF3B7BB6AC877



附件是提到的工具,其他更多算法工具可以到我的网盘里翻

https://od.cloudsploit.top/zh-CN/tools/Tuts%204%20You%20-%20Collection%202011/Crypto%20Tools/

最后于 2023-12-5 08:29 被wusha编辑 ,原因:
上传的附件:
雪    币: 544
活跃值: (1310)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gcodeer 2023-12-5 01:07
28
0
感谢各位大佬分享的资源,学到了很多
雪    币: 1351
活跃值: (1225)
能力值: ( LV12,RANK:212 )
在线值:
发帖
回帖
粉丝
shuax 2 2023-12-8 09:33
29
0
大概懂了,RSA的加密解密靠的欧拉定理,欧拉定理主要靠φ(n),这里没要求φ(n)和素数有什么关系。为了算法安全,就得保护φ(n),如果n是2个大素数的乘积,那么φ(n)就不好求得,否则容易算出φ(n),所以RSA就做成了这样。
雪    币: 6218
活跃值: (586)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
b!@nk 2023-12-11 10:33
30
0
tDasm 楼上b!@nk 病得不轻。分不清是非
嗯嗯,你是最清醒的
雪    币: 5491
活跃值: (3430)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
absman1972 2023-12-13 00:12
31
0
谢谢楼主分享!
游客
登录 | 注册 方可回帖
返回