论证一下我这种Python软件的破解可能性?希望逆向破解大佬看进来
本帖最后由 Abbeyok 于 2023-8-19 18:38 编辑下午看了『UnPackMe◇CrackMe◇KeyGenMe◇ReverseMe』版块的内容,然后联想到我的一款软件,之前被人破解,后面我做了更多加密,这里想跟大家讨论下我目前软件的破解性有多大。
1. 我先说下之前之前被人破解的方法:软件对接了一个在线授权平台,之前对接的时候,只做了单向加密,也就是给授权平台发送数据的时候,用授权平台提供的secret加密了数据,然后授权平台返回的数据,我没有做验证(授权平台提供了验证方法),然后别人做了一个本地的中间人攻击软件,劫持了软件发送的请求,直接返回一个假的数据,然后软件显示已授权
2. 后面,我做了多次的加密和验证:
1)首先是本地验证授权平台返回的数据,确认返回的不是假数据 ---- 如果这一步需要破解,那就需要知道我软件的secret,继续看下面
2)授权的文件,我用PyArmor专家版加密了,secret都在这个文件
3)授权的文件,里面还有其他的加密:比如会读取授权平台返回的加密字符串(这个字符串也是我本地电脑跑了之后更新授权平台里面配置),而这个加密字符串,则是通过aes加密一串内容(包括授权到期时间、机器码之类的,然后这串内容里面还有RSA加密的内容,RSA加密的内容同样是授权到期时间一类的内容)
4)整个软件通过pyinstaller打包,打包还用了--key命令
以上就是加密和验证的大概流程,软件不方便发出,就是论证一下这种被破解的可能性。
破解的角度:
1. 就是之前破解我软件那人的思路,通过本地中间人软件劫持请求,但是如果没有我的secret,这种基本上不可能
2. 想要拿到secret,就要先逆向拿到源代码(pyinstaller逆向应该可以做到,但是我整个软件比较大型,不知道能拿到多少,而且打包的使用使用了--key参数)
3. 逆向拿到源代码,还得破解Pyarmor的加密(好像也有,但是不知道专业版能不能破解) 相关Demo已发出(如果打不开则是还在审核):https://www.52pojie.cn/thread-1823174-1-1.html 先定性:验证和服务分离就必定会存在MITM攻击风险,只不过是难度而已。如果想彻底解决破解的风险,那就做成SaaS。
再说你的情况,从逆向分析的角度:
抓包,发现数据加密,
拆程序,发现加密,于是找密钥解密(可能有用的教程)
或者直接运行时dump
拿到之后你说pyarmor,找到了相关的解包程序,未做测试。
总体来说,强度如果超过你程序的价值了,就是值得的。
如果可以的话,打包一个demo按照你的这套逻辑发到cm区,有可能会有大佬帮你测试 涛之雨 发表于 2023-8-19 19:53
先定性:验证和服务分离就必定会存在MITM攻击风险,只不过是难度而已。如果想彻底解决破解的风险,那就做成 ...
大佬SaaS是如何防破解的,能简单说说嘛 burning 发表于 2023-8-19 23:23
大佬SaaS是如何防破解的,能简单说说嘛
https://www.zhihu.com/question/264351955
说白了就是全都走服务器,除了sql注入啊,弱口令啊什么的,基本上是安全的 你是做什么用的软件,至于下这么大功夫防御你是做什么用的软件,至于下这么大功夫防御 涛之雨 发表于 2023-8-19 23:27
https://www.zhihu.com/question/264351955
说白了就是全都走服务器,除了sql注入啊,弱口令啊什么的, ...
你说的是这个吧
页:
[1]
2