Python 有没有什么办法防止被反编译

2017-03-02 10:07:42 +08:00
 sciooga

昨天看见 最近用 Python 写了个工具,有没有什么办法防止被反编译 讨论 Python 源码保护的问题。

结果显而易见如帖子 33 楼说的:没什么办法能够完全阻止反编译。给予足够的付出,任何程序都可以逆向出来

但是略微提高些反编译的门槛的小方法还是有的,现在将一个加密代码用这个办法写了个小 DEMO ,欢迎各位尝试反编译,将此 DEMO 加密后的值: 3518d7401d60a79a22f326ada22f116d 进行解密。

DEMO: https://pan.baidu.com/s/1nuMV5Ip

加个小彩头吧~ 第一个给出反编译方法的 支付宝 10 块钱 (穷那...

7883 次点击
所在节点    Python
16 条回复
sciooga
2017-03-02 10:09:44 +08:00
CC 昨天的楼主 @bozong

对啦,补充一下,方法直接发楼里就好,反正不是什么严谨的比赛 : )
RadishWind
2017-03-02 10:16:18 +08:00
用 ctypes 调用就行吧
Kisesy
2017-03-02 10:17:11 +08:00
from Crypto.Cipher import AES
import base64
import sys
from Crypto.Cipher import AES
from binascii import b2a_hex, a2b_hex

class prpcrypt:

def __init__(self):
global ak
ak = 'gxu'
self.mode = AES.MODE_CBC
self.accs()
self.eaf()
self.afd()
self.fds()

def accs(self):
global ak
ak += 'isCc'

def eaf(self):
sciooga
2017-03-02 10:32:07 +08:00
@Kisesy #3 真快啊,方法是对了的,但是需要解密上面的 token
Kisesy
2017-03-02 10:44:17 +08:00
@sciooga 可是解这个跟这个加密有什么关系 V2EX plus
sciooga
2017-03-02 10:45:29 +08:00
@Kisesy #5 这样好给你发个小红包呀... 毕竟上面这样写的,你加我微信吧, id 名
Kisesy
2017-03-02 10:48:22 +08:00
不用,大家技术交流而已,哈哈,也算是学习一下
ADUST
2017-03-02 10:53:53 +08:00
研究过一段时间,最终使用 ctypes 将 py 转为 c ,然后 gcc 编译为.o ,入口文件 import .o 就可以了
sciooga
2017-03-02 10:55:04 +08:00
@ADUST #8 实际上有简单些的方法
ADUST
2017-03-02 10:58:14 +08:00
@sciooga 请教下,烦请告知方法哈
clino
2017-03-02 11:03:49 +08:00
我有个安全相关的工具,因为 py 容易被反编译,结果最后改成 go 来做,效果不错...
sciooga
2017-03-02 11:09:31 +08:00
@ADUST #10 着急的话,微信加我 id 我们讨论下,不着急的话,我晚上在附言也说说我的方法
henices
2017-03-02 11:16:32 +08:00
使用定制的 python 主程序,这样别人的反不出你的代码了。但其实也就是增加别人的时间成本罢了。
sciooga
2017-03-02 23:07:51 +08:00
@ADUST #10 我的思路已经补充到附言了
solidx
2017-03-03 02:24:28 +08:00
@ADUST 使用 ctypesgen ?
ADUST
2017-03-13 10:24:27 +08:00
@solidx cython

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/344260

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX