實現微擎2C(goto混淆)解密算法

 

嚴格來講,這種加密方法並不是真的加密,而是混淆,就是讓人看不懂,如果代碼量少,有時間,自己跟着goto語句一句一句搞也是可以還原的,但是、、、

我的想法很簡單很暴力,就是順着goto一步一步還原代碼。總結如下:

  1. 每一個goto就對應一段label代碼,先把所有label片段拆分組成一個json對象,如何判斷一個片段到哪裏截止?原則上是到goto語句,但如果中間出現了if while foreach switch for 等等語句時,就要判斷比如while到哪裏截止,其實很簡單,找{}的位置即可。這些label片段可能還包含另外一個label片段;
  2. 把含有其他label片段的代碼逐一還原,確保每一個label片段都不再含有其他片段代碼;
  3. 從第一個goto語句開始,在數組中找對應代碼段,這個代碼段也含有goto語句,逐一遞歸累加代碼,源代碼基本就出來了;
  4. 把部分asc碼轉字符串。

本算法已公開使用,現每個賬戶每天可免費解密100kb內的文件,不限文件數量,如果使用過程中或解密文件有嚴重bug,歡迎聯繫我, 我會第一時間處理。

解密地址:https://www.inmyjs.com/shop/decode

特別說明:

本算法僅供交流學習!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章