淘豆網
  1/7
0/100
您的瀏覽器不支持進度條
更多>>該用戶其他文檔
下載所得到的文件列表
花指令11.doc
文檔介紹︰
第章花指令花指令簡介:花指令(junkcode)意思是程序中有一些指令,由設計者特別構思,希望使反匯編的時候出錯,讓破解者無法清楚正確地反匯編程序的內容,迷失方向。經典的是一些跳轉指令,目標位置是另一條指令的中間,這樣在反匯編的時候便會出現混亂。花指令有可能利用各種jmp,call,ret,一些堆棧技巧,位置運算,等等資料個人收集整理,勿做商業用途如: jzlabel jnzlabel dbthunkcode label: movax,8 xorax,77 ... 這里假設從label偽指令開始是我們以movax,8打頭的加密算法,當thunkcode為一條非單字節指令(nop等)的機器指令的時候反匯編器可能就會把thunkcode和後面的mov一起反匯編,從而導致後面的一系列匯編語句的反匯編錯誤,這樣就隱藏了真正的匯編語句。資料個人收集整理,勿做商業用途【深層】偽裝PEtite2.2->IanLuck匯編代碼: ============================ 偽裝代碼部分: ============================ moveax,0040E000 push004153F3 pushdwordptrfs:[0] movdwordptrfs:[0],esp pushfw pushad pusheax xorebx,ebx popeax popad popfw popdwordptrfs:[0] popeax jmpXXXXXXXX'執行到程序的原有OEP ============================ 【深層】偽裝WCRTLibrary(VisualC++)DLLMethod1->Jibz二進制代碼+匯編代碼:資料個人收集整理,勿做商業用途============================ 偽裝代碼部分: ============================ 使用二進制粘貼以下代碼: 558BEC837D0C017541A1C030001085C0740AFFD085C075046AFEEB17680C3000106808300010E88900000085C0595974086AFDFF150820001068043000106800300010E8520000005959資料個人收集整理,勿做商業用途粘貼完畢後,再添加2行匯編語句: jmpXXXXXXXX'執行到程序的原有OEP retn0C 1。偽裝vc VC++程序的入口代碼: PUSHEBP MOVEBP,ESP PUSH-1 push415448-\___ PUSH4021A8-/在這段代碼中類似這樣的操作數可以亂填 MOVEAX,DWORDPTRFS:[0] PUSHEAX MOVDWORDPTRFS:[0],ESP ADDESP,-6C PUSHEBX PUSHESI PUSHEDI ADDBYTEPTRDS:[EAX],AL/這條指令可以不要! jmp跳轉到程序原來的入口點******************************************************************************************資料個人收集整理,勿做商業用途 2。跳轉 somewhere: nop/"胡亂"跳轉的開始 內容來自淘豆網www.taodocs.com轉載請標明出處.