女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>數值算法/人工智能>

反編譯代碼與源代碼的比較算法

大小:78 人氣: 2010-02-09 需要積分:0
{$username}的空間

用戶級別:注冊會員

貢獻文章:

貢獻資料:

反編譯代碼與源代碼的比較算法

摘要:現有反編譯器產生的代碼與對應的源代碼之間存在差異,找到并理解差異有助于改進并完善反編譯器的設計。該文給出一種適用
于C 語言反編譯代碼與源代碼的比較算法。該算法以語法樹匹配方法為基礎,定義新的C 語言中間代碼表示形式并對表達式進行動態匹配,
提高了語法樹匹配的準確性。實驗結果表明,該算法能有效計算出反編譯代碼與源代碼之間的多數差異。

反編譯代碼:
int proc_1(int arg1){
int loc1,loc2;
loc1=arg1;
if(loc1==1||loc1==0)
loc2=1;
if(loc1!=1)
if(loc1!=0){
loc1--;
loc2=proc_1(loc1);
loc2+=proc_1(loc1); }
return loc2; }
在上述代碼中,一段計算Fibonacci 數的源代碼可能只是
一個if-else 語句,而對應的反編譯代碼卻包含了一個賦值語
句、2 個if 語句和一個return 語句。將程序轉換成中間代碼
能有效減少上述差異。因此,本文在CIL 的基礎上定義了一
種新的中間代碼表示形式ECIL,其主要語法結構如下:
func ::= Func(stmt list)
stmt ::= Loop(stmt list) | If(exp, stmt list)
| Instr(instr list) | Return(exp option)
| Goto (stmt)
instr::= Set(lvalue, exp)
| Call(lvalue option, exp, exp list)

非常好我支持^.^

(4) 100%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?