shellcode_使用例子 (“c:\1.dll”) 返回 (0
)头部 =
{ 85, 137, 229, 49, 201, 100, 161, 48, 0, 0, 0, 139, 64, 12, 139, 112, 20, 173, 150, 173, 139, 88, 16, 139, 83, 60, 1, 218, 139, 82, 120, 1, 218, 139, 114, 32, 1, 222, 49, 201, 65, 173, 1, 216, 129, 56, 71, 101, 116, 80, 15, 133, 240, 255, 255, 255, 129, 120, 4, 114, 111, 99, 65, 15, 133, 227, 255, 255, 255, 129, 120, 8, 100, 100, 114, 101, 15, 133, 214, 255, 255, 255, 139, 114, 36, 1, 222, 102, 139, 12, 78, 73, 139, 114, 28, 1, 222, 139, 20, 142, 1, 218, 49, 201, 81, 102, 104, 121, 65, 102, 104, 97, 114, 102, 104, 98, 114, 102, 104, 76, 105, 102, 104, 97, 100, 102, 104, 76, 111, 84, 83, 255, 210, 129, 196, 12, 0, 0, 0, 89, 80, 255, 117, 8, 255, 208, 201, 194, 4, 0, 0, 0, 0, 0, 0, 0, 0
}指针地址 =
申请内存 (取字节集长度 (头部
),
)写到内存 (头部, 指针地址,
)返回 (指针地址
)|
shellcode_调用子程序 | 整数型 | |
|
调用地址 | 整数型 | | | |
参数1 | 整数型 | | | | 参数2 | 整数型 | | | | 参数3 | 整数型 | | | | 参数4 | 整数型 | | | | 参数5 | 整数型 | | | | 参数6 | 整数型 | | | | 参数7 | 整数型 | | | | 参数8 | 整数型 | | | | 参数9 | 整数型 | | | | 参数10 | 整数型 | | | | 参数11 | 整数型 | | | | 参数12 | 整数型 | | | | 参数13 | 整数型 | | | | 参数14 | 整数型 | | | | 参数15 | 整数型 | | | |
置入代码 ({ 86, 190, 15, 0, 0, 0, 141, 77, 8, 141, 76, 241, 252, 139, 65, 4, 133, 192, 116, 2, 255, 49, 78, 131, 233, 8, 133, 246, 117, 239, 255, 85, 8, 94, 201, 194, 124, 0 })返回 (0
)变量名 | 类 型 | 静态 | 数组 | 备 注 |
调用地址 | | | |
b | 文本型 | | |
a | | | |
c | | | |
b =
“这是一个测试内容”调用地址 =
shellcode_初始化内存指针地址 ()a =
shellcode_调用子程序 (调用地址,
取变量数据地址 (dll路径名
))
c =
取进程地址_ (a,
“info”)shellcode_调用子程序 (c,
取变量数据地址 (b
),
取变量数据地址 (b
))
释放内存 (调用地址
)|
取进程地址_ | 整数型 | |
|
kernel32.dll |
|
GetProcAddress |
|
模块句柄 | 整数型 | | |
进程名称 | 文本型 | | |