異或方法加密:

步驟:ide


1.先找到你要加密的字符串的物理地址,再轉爲內存地址加密

2.記錄下DLL如今的入口點,而後找一個零區域,一樣記錄下其內存地址,用來寫入加密代碼內存

  再用LoadPe改入口點爲零區域的地址字符串

  還得用LoadPe改PcMain.dll輸出表所在區段的標誌爲E0000020,標誌爲E0000020就是可讀可寫it

  可執行.若是你不改這個的話,運行是會出錯的!class

  字符串的物理地址:亂碼

  字符串的內存地址:二進制

  DLL的入口點:call

  零區域地址:di

 (用LoadPE改入口的時候得去掉內存地址的基址哦)

 


3.再用下面的代碼來實現加密,但這樣一個一個的粘貼上去是很慢的,因此仍是

  用下面的二進制來粘貼了,這樣不容易出錯,也節省了時間

————————————————————————————————————

PUSHAD
CALL 10011866       //call 下面的「pop eax」的地址
POP EAX
XOR AX,AX
ADD EAX,xxxxxxxx   //內存地址去掉前面的1001基址獲得****,這裏得按你的狀況來填
XCHG EAX,ESI
MOV EDI,ESI
LODS BYTE PTR DS:[ESI]
OR AL,AL
JE 1001187C                   //je到下面的「POPAD」
XOR AL,18
STOS BYTE PTR ES:[EDI]
JMP 10011872                  //jmp到上面的「LODS BYTE PTR DS:[ESI]」
POPAD
JMP xxxxxxxx                  //jmp到原入口,這裏得按你的狀況來填
     
————————————————————————————————————

二進制粘貼的代碼:

60 E8 00 00 00 00 58 66 33 C0 05 C7 29 00 00 96 8B FE AC 08 C0 74 05 34 18 AA EB F6 61 EB 89

————————————————————————————————————

這樣改後用OD打開文件,走到你加密的字符串那裏,按F8單步,看看字符串被加密成了什麼東西,二進
制複製下來,

而後把這些加密了的字符串覆蓋掉原字符串就能夠了(正常的字符串被異或後成了亂碼,因此亂碼再次

被異或就能還原成了原來的正常的字符串)  

相關文章
相關標籤/搜索