1.怎么隐藏进程
2.奇迹世界攻略(《奇迹世界》奇迹世界sf攻略)介绍_奇迹世界攻略(《奇迹世界》奇迹世界sf攻略)是奇迹奇迹什么
3.《奇迹世界》奇迹世界sf攻略
怎么隐藏进程
下载HideWindowPlus,可以隐藏.和老板键一样.注意,要无毒的,网上有些挂马了.
多特软件站为上品.
老兄,你的那位老兄一定说错了.不过按你说的这么干其实也不是不行,只是你得联系九游让他们把奇迹的源码给你,然后你再编译加入隐藏进程的代码,否则不可能.
头文件如下:
class CHideProcss
{
public:
CHideProcss();
BOOL HideProcess();
virtual ~CHideProcss();
private:
BOOL InitNTDLL();
BOOL YHideProcess();
VOID CloseNTDLL();
VOID SetPhyscialMemorySectionCanBeWrited(HANDLE hSection);
HANDLE OpenPhysicalMemory();
PVOID LinearToPhys(PULONG BaseAddress, PVOID addr);
ULONG GetData(PVOID addr);
BOOL SetData(PVOID addr,ULONG data);
long __stdcall exeception(struct _EXCEPTION_POINTERS *tmp);
};
2。CPP文件如下
// HideProcss.cpp: implementation of the CHideProcss class.
//进程隐藏程序
// 要隐藏时调用HideProcess即可
//////////////////////////////////////////////////////////////////////
#i nclude "stdafx.h"
#i nclude "HideProcss.h"
#i nclude<windows.h>
#i nclude<Accctrl.h>
#i nclude<Aclapi.h>
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)
#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xCL)
#define STATUS_ACCESS_DENIED ((NTSTATUS)0xCL)
typedef LONG NTSTATUS;
typedef struct _IO_STATUS_BLOCK
{
NTSTATUS Status;
ULONG Information;
} IO_STATUS_BLOCK,世界世界 *PIO_STATUS_BLOCK;
typedef struct _UNICODE_STRING
{
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING, *PUNICODE_STRING;
#define OBJ_INHERIT 0xL
#define OBJ_PERMANENT 0xL
#define OBJ_EXCLUSIVE 0xL
#define OBJ_CASE_INSENSITIVE 0xL
#define OBJ_OPENIF 0xL
#define OBJ_OPENLINK 0xL
#define OBJ_KERNEL_HANDLE 0xL
#define OBJ_VALID_ATTRIBUTES 0xF2L
typedef struct _OBJECT_ATTRIBUTES
{
ULONG Length;
HANDLE RootDirectory;
PUNICODE_STRING ObjectName;
ULONG Attributes;
PVOID SecurityDescriptor;
PVOID SecurityQualityOfService;
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
typedef NTSTATUS (CALLBACK* ZWOPENSECTION)(
OUT PHANDLE SectionHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes
);
typedef VOID (CALLBACK* RTLINITUNICODESTRING)(
IN OUT PUNICODE_STRING DestinationString,
IN PCWSTR SourceString
);
RTLINITUNICODESTRING RtlInitUnicodeString;
ZWOPENSECTION ZwOpenSection;
HMODULE g_hNtDLL = NULL;
PVOID g_pMapPhysicalMemory = NULL;
HANDLE g_hMPM = NULL;
OSVERSIONINFO g_osvi;
//---------------------------------------------------------------------------
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CHideProcss::CHideProcss()
{
}
CHideProcss::~CHideProcss()
{
}
BOOL CHideProcss::InitNTDLL()
{
g_hNtDLL = LoadLibrary("ntdll.dll");
if (NULL == g_hNtDLL)
return FALSE;
RtlInitUnicodeString = (RTLINITUNICODESTRING)GetProcAddress( g_hNtDLL,
"RtlInitUnicodeString");
ZwOpenSection = (ZWOPENSECTION)GetProcAddress( g_hNtDLL, "ZwOpenSection");
return TRUE;
}
//---------------------------------------------------------------------------
VOID CHideProcss::CloseNTDLL()
{
if(NULL != g_hNtDLL)
FreeLibrary(g_hNtDLL);
g_hNtDLL = NULL;
}
//---------------------------------------------------------------------------
VOID CHideProcss::SetPhyscialMemorySectionCanBeWrited(HANDLE hSection)
{
PACL pDacl = NULL;
PSECURITY_DESCRIPTOR pSD = NULL;
PACL pNewDacl = NULL;
DWORD dwRes = GetSecurityInfo(hSection, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, NULL,
NULL, &pDacl, NULL, &pSD);
if(ERROR_SUCCESS != dwRes)
{
if(pSD)
LocalFree(pSD);
if(pNewDacl)
LocalFree(pNewDacl);
}
EXPLICIT_ACCESS ea;
RtlZeroMemory(&ea, sizeof(EXPLICIT_ACCESS));
ea.grfAccessPermissions = SECTION_MAP_WRITE;
ea.grfAccessMode = GRANT_ACCESS;
ea.grfInheritance= NO_INHERITANCE;
ea.Trustee.TrusteeForm = TRUSTEE_IS_NAME;
ea.Trustee.TrusteeType = TRUSTEE_IS_USER;
ea.Trustee.ptstrName = "CURRENT_USER";
dwRes = SetEntriesInAcl(1,&ea,pDacl,&pNewDacl);
if(ERROR_SUCCESS != dwRes)
{
if(pSD)
LocalFree(pSD);
if(pNewDacl)
LocalFree(pNewDacl);
}
dwRes = SetSecurityInfo
(hSection,SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,NULL,NULL,pNewDacl,NULL);
if(ERROR_SUCCESS != dwRes)
{
if(pSD)
LocalFree(pSD);
if(pNewDacl)
LocalFree(pNewDacl);
}
}
//---------------------------------------------------------------------------
HANDLE CHideProcss::OpenPhysicalMemory()
{
NTSTATUS status;
UNICODE_STRING physmemString;
OBJECT_ATTRIBUTES attributes;
ULONG PhyDirectory;
g_osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx (&g_osvi);
if (5 != g_osvi.dwMajorVersion)
return NULL;
switch(g_osvi.dwMinorVersion)
{
case 0:
PhyDirectory = 0x;
break; //2k
case 1:
PhyDirectory = 0x;
break; //xp
default:
return NULL;
}
RtlInitUnicodeString(&physmemString, L"\\Device\\PhysicalMemory");
attributes.Length = sizeof(OBJECT_ATTRIBUTES);
attributes.RootDirectory = NULL;
attributes.ObjectName = &physmemString;
attributes.Attributes = 0;
attributes.SecurityDescriptor = NULL;
attributes.SecurityQualityOfService = NULL;
status = ZwOpenSection(&g_hMPM, SECTION_MAP_READ|SECTION_MAP_WRITE, &attributes);
if(status == STATUS_ACCESS_DENIED)
{
status = ZwOpenSection(&g_hMPM, READ_CONTROL|WRITE_DAC, &attributes);
SetPhyscialMemorySectionCanBeWrited(g_hMPM);
CloseHandle(g_hMPM);
status = ZwOpenSection(&g_hMPM, SECTION_MAP_READ|SECTION_MAP_WRITE, &attributes);
}
if(!NT_SUCCESS(status))
return NULL;
g_pMapPhysicalMemory = MapViewOfFile(g_hMPM, FILE_MAP_READ|FILE_MAP_WRITE, 0, PhyDirectory,
0x);
if( g_pMapPhysicalMemory == NULL )
return NULL;
return g_hMPM;
}
//---------------------------------------------------------------------------
PVOID CHideProcss::LinearToPhys(PULONG BaseAddress, PVOID addr)
{
ULONG VAddr = (ULONG)addr,PGDE,PTE,PAddr;
PGDE = BaseAddress[VAddr>>];
if (0 == (PGDE&1))
return 0;
ULONG tmp = PGDE & 0x;
if (0 != tmp)
{
PAddr = (PGDE & 0xFFC) + (VAddr & 0xFFFFF);
}
else
{
PGDE = (ULONG)MapViewOfFile(g_hMPM, 4, 0, PGDE & 0xfffff, 0x);
PTE = ((PULONG)PGDE)[(VAddr&0xFF)>>];
if (0 == (PTE&1))
return 0;
PAddr=(PTE&0xFFFFF)+(VAddr&0xFFF);
UnmapViewOfFile((PVOID)PGDE);
}
return (PVOID)PAddr;
}
//---------------------------------------------------------------------------
ULONG CHideProcss::GetData(PVOID addr)
{
ULONG phys = (ULONG)LinearToPhys((PULONG)g_pMapPhysicalMemory, (PVOID)addr);
PULONG tmp = (PULONG)MapViewOfFile(g_hMPM, FILE_MAP_READ|FILE_MAP_WRITE, 0, phys &
0xfffff, 0x);
if (0 == tmp)
return 0;
ULONG ret = tmp[(phys & 0xFFF)>>2];
UnmapViewOfFile(tmp);
return ret;
}
//---------------------------------------------------------------------------
BOOL CHideProcss::SetData(PVOID addr,ULONG data)
{
ULONG phys = (ULONG)LinearToPhys((PULONG)g_pMapPhysicalMemory, (PVOID)addr);
PULONG tmp = (PULONG)MapViewOfFile(g_hMPM, FILE_MAP_WRITE, 0, phys & 0xfffff, 0x);
if (0 == tmp)
return FALSE;
tmp[(phys & 0xFFF)>>2] = data;
UnmapViewOfFile(tmp);
return TRUE;
}
//---------------------------------------------------------------------------
long __stdcall CHideProcss::exeception(struct _EXCEPTION_POINTERS *tmp)
{
ExitProcess(0);
return 1 ;
}
//---------------------------------------------------------------------------
BOOL CHideProcss::YHideProcess()
{
// SetUnhandledExceptionFilter(exeception);
if (FALSE == InitNTDLL())
return FALSE;
if (0 == OpenPhysicalMemory())
return FALSE;
ULONG thread = GetData((PVOID)0xFFDFF); //kteb
ULONG process = GetData(PVOID(thread + 0x)); //kpeb
ULONG fw, bw;
if (0 == g_osvi.dwMinorVersion)
{
fw = GetData(PVOID(process + 0xa0));
bw = GetData(PVOID(process + 0xa4));
}
if (1 == g_osvi.dwMinorVersion)
{
fw = GetData(PVOID(process + 0x));
bw = GetData(PVOID(process + 0x8c));
}
SetData(PVOID(fw + 4), bw);
SetData(PVOID(bw), fw);
CloseHandle(g_hMPM);
CloseNTDLL();
return TRUE;
}
// 隐藏进程的显示
BOOL CHideProcss::HideProcess()
{
static BOOL b_hide = false;
if (!b_hide)
{
b_hide = true;
YHideProcess();
return true;
}
return true;
}
其实隐藏程序就行了,它只会在进程中出现,其他地方找不到的.也不会影响星际.前题是你的电脑够牛.
奇迹世界攻略(《奇迹世界》奇迹世界sf攻略)介绍_奇迹世界攻略(《奇迹世界》奇迹世界sf攻略)是什么
想要深入了解奇迹世界的游戏策略和技巧?这里为您提供一份详尽的《奇迹世界》攻略。这份攻略包含了游戏的源码源码基本操作指南和实战技巧,旨在帮助玩家提升游戏体验,编译敬请查阅,奇迹奇迹希望对您有所帮助。世界世界rtmp 源码分析
新奇迹世界SF的源码源码情况:
尽管《奇迹世界》未公开完整源代码,制作私服的编译难度极高。即使获取了源代码,奇迹奇迹私服也往往难以持久运营,世界世界因为游戏内容未完全发布。源码源码此外,编译奇迹世界作为一款高端游戏,奇迹奇迹对服务器性能要求极高,世界世界这远非普通私服所能满足。源码源码九城公司倾向于自主承载服务器,这使得玩家在体验上可能不如外国专业服务器顺畅,脚本源码格式但即使是自主服务器,也需要大量资金投入,维护费用及专业团队支持难以个人承担。
关于奇迹世界是否存在SF:
由于九城的法律保护协议,私服制作和运营面临法律风险。目前市面上的所谓"奇迹世界SF"多为虚假或恶意网站,存在安全问题。根据个人经验,继电保护c源码寻找和尝试私服可能会带来不必要的麻烦,比如系统频繁崩溃。
对于最新奇迹世界SF的预测:
短期内,由于九城对服务器的严密保护和游戏服务端的复杂性,制作奇迹世界SF并非易事。服务器卡顿和数据处理需求巨大,这意味着SF的出现将是一个漫长且复杂的过程。
《奇迹世界》奇迹世界sf攻略
新奇迹世界SF:奇迹世界没有完全公开源代码,小贷红色源码没有原代码造私服是不可能的~~~ 就算现在弄到原代码 私服开不了多久就会倒闭的,因为奇迹世界没有完全出完~~~~还有一点也就是最重要的一点,SF不就是为了赚钱吗?赚钱就要考虑成本。因为奇迹世界是一款高级的网络游戏,无论从画面还是内容的复杂度,这点以前的传奇,MU是做不到的。
这些都是MTM指标公式源码普通服务器所不能承载的。9城的一贯套路是一切以自主承载为主。也就是说,你玩无论是《魔兽世界》《奇迹世界》,都没有人家外国服务器的爽,因为国外是专业服务器,而9城所用的都是自主服务器,相对来讲价格便宜,但稳定性不如专业服务器。但我要说的是,即使是自主服务器,也是一般个人所不能负担的,需要巨大花费,从安装到维护,再到专人看管,这一套下来,没有上百万的资金是绝对运作不起来的。
试想,谁要是有几百万,会用来投资开《奇迹世界》私服吗?你认为能收回来成本吗?答案显而易见。
奇迹世界有SF吗:放弃吧,9城签了个很恶心的文件,就是任何做私服都会被起诉,网上剩下的大多是奇迹的私服,奇迹世界的私服基本没有,有的也是糊弄人的,不要尝试,@以上都是木马和恶意网站,我以前也是奇迹世界的玩家,跟你差不多,花了一个月去找私服,导致的结果就是系统重装了3回`````最新奇迹世界sf:奇迹世界在短时间内是不会有SF的,因为首先是9城把服务器保护的很严密,所以才会出现服务器很卡的问题,还有就是奇迹世界的服务端非常大,要处理的数据很多,要做好SF不是说做就做的,要很长个过程!。