一亩三分地

 找回密码 注册账号

扫描二维码登录本站

微信公众号
扫码关注公众号
留学申请公众号
扫码关注留学申请公众号
12
返回列表 发新帖
楼主: pengzhao0524
收起左侧

请问: python程序的通常如何加密

[复制链接] |只看干货 |技术交流
我的人缘0

升级   6.5%

cccpwx 2020-10-24 08:03:50 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   90% (117)
 
 
9% (12)    👎
你到底想隐藏什么?
回复

使用道具 举报

我的人缘0

升级   18.14%

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   99% (122)
 
 
0% (1)    👎
Expose few APIs instead of the entire program
回复

使用道具 举报

我的人缘0

升级   41.14%

striges1111 2020-10-24 08:35:09 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   97% (962)
 
 
2% (26)    👎
xiaomajia001 发表于 2020-10-24 05:44
拿IDA看没那么简单的,二进制的话手段比较丰富,指令加花啊,程序加壳啊什么的,这个加密解密的攻防就有 ...

reverse cython这玩意需要改造一下libpython.so,因为万变不离其宗的部分就是执行opcode,把内部执行的每个opcode都dump出来,就能获得一个类似pyc一样的东西,有了pyc害怕拿不到源代码?
回复

使用道具 举报

我的人缘0

升级   76.5%

xiaomajia001 2020-10-24 09:05:04 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   98% (1246)
 
 
1% (14)    👎
striges1111 发表于 2020-10-24 08:35
reverse cython这玩意需要改造一下libpython.so,因为万变不离其宗的部分就是执行opcode,把内部执行的每 ...

用cython还是相当于虚拟机,那确实,但是可以直接写C/C++之类的native code啊,然后暴露接口给python用就行了,二进制逆向成本还是很高的,还可以加花加壳来保护
回复

使用道具 举报

我的人缘0

升级   86.43%

三除米甫 2020-10-24 09:57:48 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   100% (180)
 
 
0% (0)    👎
code写在cython里面再编译吧
回复

使用道具 举报

我的人缘0

升级   14.98%

littlechen32 2020-10-24 14:12:42 | 显示全部楼层
本楼: 👍   100% (2)
 
 
0% (0)   👎
全局: 👍   78% (353)
 
 
21% (94)    👎
你要加密的是python 2.7 的代码还是3.x 的,我最近正在搞这个,最直接的方法就是改python 语言源代码,先自己用openssl 写一个加密程序,然后所有工程代码加密,然后python 运行时候有两种情况:1.正常python xxx.py 这种情况在py_main 函数中你可以看到fopen, 把那个改成你自定义的打开方式,具体来讲就是,对加密后的代码进行解码,变成正常文本,放在内存里,用fmemopen 重新打开,这样就可以了。2.import 的情况就特殊了,比如你程序import 另一个加密后的源代码文件,2.7 你去import.c:find_module里找对应打开的函数,3.x 我还在研究,目前发现是lib/importlib.py 做法是改那个,然后重新生成importlib.h ,那个我还没想清楚怎么具体做
回复

使用道具 举报

我的人缘0

升级   61.5%

Esperical 2020-10-24 15:01:17 | 显示全部楼层
本楼: 👍   100% (2)
 
 
0% (0)   👎
全局: 👍   98% (113)
 
 
1% (2)    👎
littlechen32 发表于 2020-10-24 14:12
你要加密的是python 2.7 的代码还是3.x 的,我最近正在搞这个,最直接的方法就是改python 语言源代码,先自 ...

解密方也读内存就好了。。。。  把fmemopen劫持掉 加层壳就读出来了
回复

使用道具 举报

我的人缘0

升级   82.71%

 楼主| pengzhao0524 2020-10-24 19:08:01 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   90% (18)
 
 
10% (2)    👎
感谢大家的指导! 学习了!
回复

使用道具 举报

我的人缘0

升级   90%

KerrSpace 2020-10-24 21:30:53 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   90% (1136)
 
 
9% (114)    👎
cccpwx 发表于 2020-10-24 08:03
你到底想隐藏什么?

发布点桌面的小程序小应用不想被人看代码是很正常的需求吧?
回复

使用道具 举报

我的人缘0

升级   41.14%

striges1111 2020-10-26 10:20:32 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   97% (962)
 
 
2% (26)    👎
littlechen32 发表于 2020-10-24 14:12
你要加密的是python 2.7 的代码还是3.x 的,我最近正在搞这个,最直接的方法就是改python 语言源代码,先自 ...

放内存里面这一条基本上就invalidate了整个加密逻辑,稍微懂一点逆向的人直接IDA下断点就能把内存里面的东西搞出来。而且openssl加密这玩意特征太明显了,因为private key特征太强,直接replace掉private key,然后自己用public key加密一个自己的脚本然后进去dump东西,说不定能把整个加密逻辑都拆出来。我反而觉得朴素的blowfish就很好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

隐私提醒:
■拉群请前往同学同事飞友|拉群结伴版块,其他版块拉群,帖子会被自动删除
■论坛不能删帖,为防止被骚扰甚至人肉,不要公开留微信等联系方式,请以论坛私信方式发送。
■特定版块可以超级匿名:https://tools.1point3acres.com/thread
■其他版块匿名方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|||一亩三分地

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

Some icons made by Freepik from flaticon.com

快速回复 返回顶部 返回列表