步驟: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單步,看看字符串被加密成了什麼東西,二進
制複製下來,
而後把這些加密了的字符串覆蓋掉原字符串就能夠了(正常的字符串被異或後成了亂碼,因此亂碼再次
被異或就能還原成了原來的正常的字符串)