如题,cython 编译 python 代码似乎是一种常见的 py 分发加密方法,而触发异常有可能导致代码泄露,我印象中是能够关闭掉的,刚才百度搜了半天没搜到,好像关键字不太对,有没有大佬指点一下,谢谢。
1
ysc3839 2021-07-30 14:47:19 +08:00
为什么触发异常有可能导致代码泄露?
|
2
LeeReamond OP @ysc3839 异常会指示什么位置哪行代码出问题,不会导致泄露?
|
3
O5oz6z3 2021-07-30 16:47:41 +08:00
不懂 cython 。说的是不是 sys.excepthook ?
|
4
LeeReamond OP @O5oz6z3 印象中不是用这个实现的,不过这个可以用来拦截 exp 然后直接不输出任何信息到 stdout 对吧
|
5
O5oz6z3 2021-07-30 18:32:38 +08:00
@LeeReamond 我还以为触发异常泄露代码指的是异常堆栈打印,其他的方法我就不知道了。
|
6
ysc3839 2021-07-30 19:12:56 +08:00
@LeeReamond Cython 编译后就没有调用栈信息了吧?类似普通的 pyd 模块,遇到错误只能看到错误信息,没有具体代码信息的。
|
7
ysc3839 2021-07-30 19:24:17 +08:00
哦,不对,函数名还是有的。即使是普通的 pyd 模块,定义 Python 函数的时候也要设置函数名,出错的时候 Python 也会打印出函数名。这种情况可能没什么好办法,不过一般不会认为函数名很重要吧?没记错的话 Objective-C 编译后也能逆向出完整的函数名和参数信息。
|
8
LeeReamond OP @ysc3839 最好还是抹掉,你提到逆向那肯定知道逆向过程中函数名的作用非常重要。我印象中是可以去掉的,只是以前代码没保存,现在找不到了
|