Thinker
GitHub - ThinkerYzu/CodeDecom最近在做的 side project。給一個 python 函數,在不分析 bytecode 的情況下,分析出函數的行為。在分析出行為後,就能轉譯成其它平台和語言,甚至是將程式切割和分散。

分析方式就是把所有的參數,local 變數,global 變數,甚至是常數,全都用 mock object 取代。而 mock object 的所有 operator method 都被實作,以記錄下 function 對這些 object 做了什麼事。這些記錄就是 function 的行為了。