如何提取python源代碼中的資料流,就是從輸入到輸出。
舉個例子:
def deal_import(origin_code):
import_list = []
origin_code = origin_code.lower()
code_lines = removeComments(origin_code)
one_split_list = code_lines.split("import")
for twosplit in one_split_list:
two_spilt_list = twosplit.split("from")
remove_list = remmove_empty(two_spilt_list)
if len(remove_list) != 0:
rmas_list = rm_as(remove_list)
import_list = import_list + rmas_list
code_def = import_list[-1]
code_import = import_list
code_import.pop()
code_import = list(set(code_import))
code_import.sort()
return code_import,code_def
origin_code ->origin_code->code_lines->.....->code_import.
提取出從函式輸入到輸出,變數所經過的整個路徑,把其中的行提取出來。同時把其中的變數挨個替換為VAR1,VAR2,,,,VARn
uj5u.com熱心網友回復:
你這個是要做代碼加密嗎?感覺自己要寫個解釋器了,有點復雜啊。如果單純做代碼加密的話可以試試cython
uj5u.com熱心網友回復:
不是加密,其實本質就是使用AST提取出其中的整個資料流。類似于代碼的切片。主要是為了后續檢測惡意代碼然后進行前期的一些處理。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/96552.html
上一篇:如何從python源代碼中提取出資料流,也就是進入函式的引數轉變為其他變數的整個流程。
下一篇:python測驗類報錯:AttributeError: module '__main__' has no attribute 'test_name_functi
