隐藏进程的源代码(c/c++实现)!
采用注入到其他进程的方法来隐藏自己的进程。就是说,把你想做的事情寄生到别人的进程里面。比如IE什么的。关于注入的方法很多,下面我给你一个DLL注入的方法,这个是我做某外挂时用过的代码,你参考一下把。
int APIENTRY _tWinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
TCHAR szCommandLine[] _T("目标进程");
TCHAR szCurPath[] = _T("当前目录");
WCHAR szTagetDLLName[256] = L"目标DLL";
PWSTR pszRemoteDLLName = NULL;
HANDLE hRemoteThread = NULL;
STARTUPINFO StartupInfo = { sizeof(StartupInfo) };
PROCESS_INFORMATION ProcessInfo = { 0 };
PTHREAD_START_ROUTINE pfnLoadLibraryAddress = NULL;
HANDLE hTheFileMaping = NULL;
LPREMOTEDATA pTheRemoteData = NULL;
__try
{
//获得本地进程路径名称
GetModuleFileNameW(hInstance, szTagetDLLName, 256);
//获得目标DLL路径名称,假定目标DLL本地进程在同一个目录。
WCHAR * p = szTagetDLLName + lstrlenW(szTagetDLLName) - 1;
while( (*p != L'\\') && (p != szTagetDLLName) )
p --;
p ++;
*p = L'\0';
lstrcatW(szTagetDLLName, L"TagetDll.DLL");
//获取LoadLibraryW在Kernel32.DLL中的地址,用于作为远线程的入口地址。
pfnLoadLibraryAddress = ( PTHREAD_START_ROUTINE )
GetProcAddress( GetModuleHandle( _T("Kernel32") ), "LoadLibraryW" );
if( NULL == pfnLoadLibraryAddress )
 
相关文档:
动态加载DLL需要使用Windows API函数:LoadLibrary、GetProcAddress以及FreeLibrary。我们可以使用DllImport在C#中使用这三个函数。
[DllImport("Kernel32")]
public static extern int GetProcAddress(int handle, String funcname);
[DllImport("Kernel32")]
public static extern int L ......
1 创建C# DLL,需要指定应用类型为“类库”,代码:
namespace CSLib
{
public class Class1
{
private string name;
public string Name
......
一、批量转移字符到缓冲区
bufptr = buffer;
void bufwrite(char* p,int n)
{
while(n>0)
{
int k,rem;
if(bufptr == &buffer[N])
&nbs ......
最近在用C++编写一个RTSP的客户端,由于要用到线程,根据C编程的经验,写了如下代码:
class LiRtspSession
{
public:
void* MainThreadFunc(void* pvData);
void* AudioProcThreadFunc(void* pvData);
& ......