vc远程写入代码(vc如何打开源代码)
admin 发布:2022-12-19 15:30 129
本篇文章给大家谈谈vc远程写入代码,以及vc如何打开源代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、用vc++在远程进程中对指定内存注入代码,请问怎么实现,给出具体的实现方法
- 2、VC远程注入失败
- 3、vc远程调用call,读人物血值,游戏出错!注入器测试汇编代码没问题!
- 4、如何使用VC进行远程调试(Remote Debug)
用vc++在远程进程中对指定内存注入代码,请问怎么实现,给出具体的实现方法
先OpenProcess,
这里假设你晓得内存地址为0x1005360,768是大小
VirtualProtectEx(pHandle,(void *)0x1005360,768,PAGE_EXECUTE_READWRITE,dwIdOld);
然后再WriteProcessMemory,就完成了
当然,好像有些带保护的进程直接virtualProtectEx是执行不成功的,需要提权,这个网上找一下有现成的。
VC远程注入失败
给你一个示例
//提升本进程的访问权限
BOOL EnableDebugPrivilege(BOOL bEnable=TRUE)
{
//附给本进程特权,以便访问系统进程
BOOL bOk=FALSE;
HANDLE hToken;
//打开当前进程的访问令牌
if(::OpenProcessToken(::GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,hToken))
{
//取得特权名称为"SetDebugPrivilege"的LUID
LUID uID;
::LookupPrivilegeValue(NULL,SE_DEBUG_NAME,uID);
//调整特权级别
TOKEN_PRIVILEGES tp;
tp.PrivilegeCount=1;
tp.Privileges[0].Luid=uID;
tp.Privileges[0].Attributes=bEnable?SE_PRIVILEGE_ENABLED:0;
::AdjustTokenPrivileges(hToken,FALSE,tp,sizeof(tp),NULL,NULL);
bOk=(::GetLastError()==ERROR_SUCCESS);
//关闭访问令牌句柄
::CloseHandle(hToken);
}
return bOk;
}
//查找指定的进程名称,在此不传递参数,直接查找记事本进程
DWORD SearchNotebook()
{
PROCESSENTRY32 pe32;
pe32.dwSize=sizeof(PROCESSENTRY32);
HANDLE h_snap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(Process32First(h_snap,pe32))
{
do
{
if(strncmp("notepad.exe",pe32.szExeFile,strlen("notepad.exe"))==0)
return pe32.th32ProcessID;
}while(Process32Next(h_snap,pe32));
}
return 0;
}
typedef DWORD (FAR WINAPI*MyMessageBox)(HWND,unsigned short*,unsigned short*,unsigned short);
//要注入的函数名称
void FuncInjected(LPVOID dwAddress)
{
//OutputDebugString("进入");
DWORD addr=(DWORD)dwAddress;
char msg[]="注入成功";
char title[]="Warning";
_asm
{
pushad
lea eax,msg
lea ebx,title
push 0
push ebx
push eax
push 0
call addr
popad
}
return;
}
void SelfDelTest()
{
EnableDebugPrivilege(TRUE);
DWORD dwId=SearchNotebook();
if(dwId==0) return;
HANDLE h_proc=OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwId);
if(h_proc==NULL)return;
void*lpfunc=VirtualAllocEx(h_proc,NULL,1024*4),MEM_COMMIT|MEM_RESERVE,PAGE_EXECUTE_READWRITE);
if(lpfunc==NULL)return;
UINT nRet=WriteProcessMemory(h_proc,(LPVOID)lpfunc,(LPVOID)FuncInjected,1024*4,NULL);
//if(nRet!=strlen((char*)FuncInjected)){::MessageBox(NULL,"我日- -!","- -!",0);return;}
//取得MessageBoxA的地址
HMODULE h_mod=LoadLibrary("Kernel32.dll");
MyMessageBox msgBox=(MyMessageBox)GetProcAddress(h_mod,"MessageBoxA");
//
::MessageBox(NULL,"我日- -!","- -!",0);
HANDLE h_RemoteTD=CreateRemoteThread(h_proc,NULL,0,(LPTHREAD_START_ROUTINE)lpfunc,msgBox,0,NULL);
}
vc远程调用call,读人物血值,游戏出错!注入器测试汇编代码没问题!
ReadXml 方法提供了只将数据或同时将数据和架构从 XML 文档读入 DataSet 的方式,而 ReadXmlSchema 方法仅读架构。若要同时读数据和架构,请使用包括 mode 参数的 ReadXML 重载之一,并将其值设置为 ReadSchema。
请注意,对于 WriteXml 和 WriteXmlSchema 方法也是如此。若要写入来自 DataSet 的 XML 数据或架构和数据两者,使用 WriteXml 方法。若要只写入架构,请使用 WriteXmlSchema 方法。
如何使用VC进行远程调试(Remote Debug)
1. 配置目标机 1)拷贝Remote Debugger客户端与目标程序的调试版本到目标机。 拷贝目录C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/Remote Debugger/x86。 目标程序如C:/Windows/System32/Thpsvr.exe 2)执行Remote Debugger客户端程序msvsmon.exe。 首先关掉Windows防火墙。 运行程序后,选择[Tools]-[Options]。选择[No Authentication(native only)],并勾选[Allow any user to debug]。 2. 配置主机 1) 打开工程,选择调试模式。 由菜单依次选择[Project] [Properties] [Configuration Properties] [Debugging]。将Debugger to launch选为Windows Remote Debugger. 2) 配置Remote Debug参数。 [Remote Command] 设置为目标程序全路径,C:/Windows/System32/Thpsvr.exe。[CommandArguments] 按需要为程序设置参数。 [Remote Server Name] 填入目标机的IP地址。 [Connection] 设为Remote with no Authentication(native only) 其它设置不需要改动。 客户机和主机配置都已经完成,接下来以和本机调试相同的方法进行调试就可以了。
vc远程写入代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vc如何打开源代码、vc远程写入代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
- 上一篇:会员等级代码(会员等级名称)
- 下一篇:网站域名代码(网站 代码)
相关推荐
- 05-17百度合作平台,百度合作平台如何赚钱
- 05-16如何做好推广,如何做好推广普通话工作
- 05-16如何做一个网站,如何做一个网站系统
- 05-16百度网盘资源库,百度网盘资源库在哪打开
- 05-15如何制作一个网页网站,如何制作一个网页?
- 05-15手机百度seo怎么优化,百度app如何优化
- 05-11seo搜索优化怎么做,seo搜索引擎如何优化
- 05-09网页代码,网页代码快捷键
- 05-08如何创建个人网页,如何创建个人网址
- 05-08百度搜索关键词优化,百度关键词优化软件如何
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接