吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1298|回复: 3
收起左侧

[求助] 关于shellcode调用崩溃的问题

[复制链接]
met32 发表于 2021-3-14 16:58
下面这段shellcode一调用就崩溃,各位表哥们有什么解决思路吗,用malloc申请内存在使用函数指针也是报错...求解决思路
[C] 纯文本查看 复制代码
unsigned char shellcode[] = {
"\xfc\x68\x6a\x0a\x38\x1e\x68\x63\x89\xd1\x4f\x68\x32\x74\x91\x0c\x8b\xf4\x8d\x7e\xf4\x33\xdb\xb7\x04\x2b\xe3\x66\xbb\x33\x32\x53\x68\x75\x73\x65\x72\x54\x33\xd2\x64\x8b\x5a\x30\x8b\x4b\x0c\x8b\x49\x1c\x8b\x09\x8b\x69\x08\xad\x3d\x6a\x0a\x38\x1e\x75\x05\x95\xff\x57\xf8\x95\x60\x8b\x45\x3c\x8b\x4c\x05\x78\x03\xcd\x8b\x59\x20\x03\xdd\x33\xff\x47\x8b\x34\xbb\x03\xf5\x99\x0f\xbe\x06\x3a\xc4\x74\x08\xc1\xca\x07\x03\xd0\x46\xeb\xf1\x3b\x54\x24\x1c\x75\xe4\x8b\x59\x24\x03\xdd\x66\x8b\x3c\x7b\x8b\x59\x1c\x03\xdd\x03\x2c\xbb\x95\x5f\xab\x57\x61\x3d\x6a\x0a\x38\x1e\x75\xa9\x33\xdb\x53\x68\x77\x65\x73\x74\x68\x66\x61\x69\x6c\x8b\xc4\x53\x50\x50\x53\xff\x57\xfc\x53\xff\x57\xf8"

};

	__asm{
	lea ecx,shellcode;
	push ecx;
	ret
	

QQ图片20210314165515.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

苏紫方璇 发表于 2021-3-14 18:21
看着是全局变量地址没有执行权限,建议测试一下用VirtualAlloc分配一段可执行的内存,把shellcode写进去执行。
 楼主| met32 发表于 2021-3-14 19:04
苏紫方璇 发表于 2021-3-14 18:21
看着是全局变量地址没有执行权限,建议测试一下用VirtualAlloc分配一段可执行的内存,把shellcode写进去执 ...

我这样修改了 可以成功调用shellcode但是运行之后还显示错误
[C] 纯文本查看 复制代码
#include "stdafx.h"
#include <stdlib.h>
#include <windows.h>
unsigned char shellcode[] = {
"\xfc\x68\x6a\x0a\x38\x1e\x68\x63\x89\xd1\x4f\x68\x32\x74\x91\x0c\x8b\xf4\x8d\x7e\xf4\x33\xdb\xb7\x04\x2b\xe3\x66\xbb\x33\x32\x53\x68\x75\x73\x65\x72\x54\x33\xd2\x64\x8b\x5a\x30\x8b\x4b\x0c\x8b\x49\x1c\x8b\x09\x8b\x69\x08\xad\x3d\x6a\x0a\x38\x1e\x75\x05\x95\xff\x57\xf8\x95\x60\x8b\x45\x3c\x8b\x4c\x05\x78\x03\xcd\x8b\x59\x20\x03\xdd\x33\xff\x47\x8b\x34\xbb\x03\xf5\x99\x0f\xbe\x06\x3a\xc4\x74\x08\xc1\xca\x07\x03\xd0\x46\xeb\xf1\x3b\x54\x24\x1c\x75\xe4\x8b\x59\x24\x03\xdd\x66\x8b\x3c\x7b\x8b\x59\x1c\x03\xdd\x03\x2c\xbb\x95\x5f\xab\x57\x61\x3d\x6a\x0a\x38\x1e\x75\xa9\x33\xdb\x53\x68\x77\x65\x73\x74\x68\x66\x61\x69\x6c\x8b\xc4\x53\x50\x50\x53\xff\x57\xfc\x53\xff\x57\xf8"

};
int main(){
PVOID p = NULL;
p = VirtualAlloc(NULL, sizeof(shellcode), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
memcpy(p, shellcode, sizeof(shellcode));


	__asm{
		call p;
	}

	return 0;
}

点评

从我这里看,报错应该是ExitProcess地址获取错了  详情 回复 发表于 2021-3-14 21:59
苏紫方璇 发表于 2021-3-14 21:59
met32 发表于 2021-3-14 19:04
我这样修改了 可以成功调用shellcode但是运行之后还显示错误
[mw_shl_code=c,true]#include "stdafx.h"
...

从我这里看,报错应该是ExitProcess地址获取错了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 06:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表