|
|
[下载]VBOWatch Protector 2.0
Daemon Crypt V2 |
|
|
关于NProtect Gameguard?
驱动。我只能这样说。 |
|
|
导致exe文件名出现~的感染型病毒(千橡互联流氓软件)专杀工具
这个病毒源代码早就发不过,但放出病毒的确不是原作者。 |
|
|
打算购买winlicense,求教各位建议
最初由 BuyWL 发布 经过这样的规则保护程序后,我相信你的程序比原有程序要慢500%以上。 |
|
|
|
|
|
[求助]影子系统到底是什么东西
最初由 superttl 发布 由见过更牛的,虚拟系统。但是这个隔开运行多个的系统是一个系统。 |
|
|
|
|
|
|
|
|
[分享]Testcomplete破解
试玩版破解很辛苦,以前有一个牛人破解一个视频转换,写了几万行内插汇编。还有一个翻译软件写了几十万行内插汇编。 |
|
|
[下载]野猪力量 -- 注入
最初由 skylly 发布 你这方法用的人很多,但是不是任何壳都有效的。 |
|
|
关于把EXE文件作DLL加载!
最初由 gkend 发布 最好是做个成品,我开始思路跟这个差不多。 |
|
|
关于把EXE文件作DLL加载!
最初由 gkend 发布 还是有点东西的,自己研究就知道了,做成通用的有见过的,不过那个等于没有什么意义了,是替换原有进程景象,相当于原来的进程内容被抹掉,意义就不大了。 |
|
|
[下载]野猪力量 -- 注入
不带重定位表的EXE可能不行。 |
|
|
|
|
|
|
|
|
|
|
|
[下载]野猪力量 -- 注入
最初由 shoooo 发布 猛男,这个启动不起来,EPE在我的系统是无法启动,造成我EXEPLORER连续退出重启。搞个无壳的。 |
|
|
|
|
|
[求助]把EXE当作DLL启动?
找到一段代码,还未测试 这是我前段时间写的,在网上也查了些资料,大部分讲的都是远程注入DLL,借签了其中部分代码,更改后的核心代码如下: // 远程线程参数结构 typedef struct tagREMOTE_THREAD_PARAM { DWORD dwCreateProcess; char chAppName[MAX_PATH]; STARTUPINFO si; PROCESS_INFORMATION pi; }REMOTE_THREAD_PARAM; // 远程线程 DWORD WINAPI ThreadFunc(REMOTE_THREAD_PARAM *pParam) { typedef BOOL (WINAPI *pFUNC_CREATEPROCESSA)( LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation); pFUNC_CREATEPROCESSA pFunc_CreateProcessA = (pFUNC_CREATEPROCESSA)pParam->dwCreateProcess; pFunc_CreateProcessA(pParam->chAppName, NULL, NULL, NULL, FALSE, 0, NULL, NULL, &pParam->si, &pParam->pi); return 0L; } // 激活进程应用级调试权限 BOOL CCallADlg::EnDebugPrivileg(HANDLE ProcessHandle) { HANDLE hToken; if (!OpenProcessToken(ProcessHandle, TOKEN_ADJUST_PRIVILEGES, &hToken)) return FALSE; LUID luidDebug; if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luidDebug)) { CloseHandle(hToken); return FALSE; } TOKEN_PRIVILEGES tkpNew; tkpNew.PrivilegeCount = 1; tkpNew.Privileges[0].Luid = luidDebug; tkpNew.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; if (!AdjustTokenPrivileges(hToken, FALSE, &tkpNew, NULL, NULL, NULL)) { CloseHandle(hToken); return FALSE; } return TRUE; } void CCallADlg::OnRun() { if (!UpdateData()) return; if (m_dwPID == 0) m_dwPID = GetCurrentProcessId(); if (!EnDebugPrivileg(GetCurrentProcess())) { AfxMessageBox(_T("激活当前进程应用级调试权限失败!")); return; } HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, m_dwPID); if(!hProcess) { AfxMessageBox(_T("获取远程进程句柄失败!")); return; } const DWORD THREAD_SIZE = 2048;// 1024 * 2 LPVOID lpRemoteThread = VirtualAllocEx(hProcess, NULL, THREAD_SIZE, MEM_COMMIT| MEM_RESERVE, PAGE_EXECUTE_READWRITE); if(!lpRemoteThread) { AfxMessageBox(_T("在远程进程中分配内存失败(函数)!")); CloseHandle(hProcess); return; } if(!WriteProcessMemory(hProcess, lpRemoteThread, &ThreadFunc, THREAD_SIZE, 0)) { AfxMessageBox(_T("写远程进程内存失败(函数)!")); VirtualFreeEx(hProcess, lpRemoteThread, 0, MEM_RELEASE); CloseHandle(hProcess); return; } REMOTE_THREAD_PARAM RemoteThreadParam = {0}; HMODULE hKernel32 = LoadLibrary("KERNEL32.DLL"); RemoteThreadParam.dwCreateProcess = (DWORD)GetProcAddress(hKernel32, "CreateProcessA"); GetCurrentDirectory(MAX_PATH, RemoteThreadParam.chAppName); strcat(RemoteThreadParam.chAppName, "\\a.exe\0"); RemoteThreadParam.si.cb = sizeof(RemoteThreadParam.si); REMOTE_THREAD_PARAM *pParam = (REMOTE_THREAD_PARAM*)VirtualAllocEx(hProcess, NULL, sizeof(RemoteThreadParam), MEM_COMMIT, PAGE_READWRITE); if(!pParam) { AfxMessageBox(_T("在远程进程中分配内存失败(参数)!")); VirtualFreeEx(hProcess, lpRemoteThread, 0, MEM_RELEASE); CloseHandle(hProcess); return; } if(!WriteProcessMemory(hProcess, pParam, &RemoteThreadParam, sizeof(RemoteThreadParam), 0)) { AfxMessageBox(_T("写远程进程内存失败(参数)!")); VirtualFreeEx(hProcess, pParam, 0, MEM_RELEASE); VirtualFreeEx(hProcess, lpRemoteThread, 0, MEM_RELEASE); CloseHandle(hProcess); return; } HANDLE hRemoteThread = CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)lpRemoteThread, pParam, 0, NULL); if(!hRemoteThread) { AfxMessageBox(_T("创建(运行)远程线程失败!")); VirtualFreeEx(hProcess, pParam, 0, MEM_RELEASE); VirtualFreeEx(hProcess, lpRemoteThread, 0, MEM_RELEASE); CloseHandle(hProcess); return; } else { WaitForSingleObject(hRemoteThread, INFINITE); CloseHandle(hRemoteThread); } VirtualFreeEx(hProcess, pParam, 0, MEM_RELEASE); VirtualFreeEx(hProcess, lpRemoteThread, 0, MEM_RELEASE); CloseHandle(hProcess); } |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
勋章
兑换勋章
证书
证书查询 >
能力值