首页
社区
课程
招聘
使用
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2020-9-25 11:53
3
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2020-9-24 16:14
0
1
// 这个函数需要在system权限下运行, 例如在服务里。
void main()
{
       HANDLE hToken = NULL;
       HANDLE hTokenDup = NULL;
       if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &hToken))
       {
               return;
       }

       DWORD dwSessionId = WTSGetActiveConsoleSessionId();
       if (!DuplicateTokenEx(hToken, MAXIMUM_ALLOWED, NULL, SecurityIdentification, TokenPrimary, &hTokenDup)) {
               CloseHandle(hToken);
               return;
       }
       if (!SetTokenInformation(hTokenDup, TokenSessionId, &dwSessionId, sizeof(DWORD))) {
               CloseHandle(hToken);
               CloseHandle(hTokenDup);
               return;
       }

       char szCommon[MAX_PATH] = { "C:\\Windows\\System32\\cmd.exe" };
       PROCESS_INFORMATION pi = { 0 };
       STARTUPINFO si = { sizeof(si) };
       si.dwFlags = STARTF_USESHOWWINDOW;
       si.wShowWindow = TRUE;//窗口显示为0不显示 
       if (!CreateProcessAsUser(
               hTokenDup,
               (char*)szCommon, //在Unicode版本中此参数不能为常量字符串,因为此参数会被修改    
               NULL,
               NULL,
               NULL,
               FALSE,
               NULL,
               0,
               NULL,
               &si,
               &pi))
       {

       }
}
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2020-8-28 14:54
0
[求助]为什么vs2017编译一个空dll都如此大
如果真的那么在意大小,用VC6 MD选项大概是20KB,而且每个系统都能跑。
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2019-12-19 23:49
0
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2019-3-9 01:02
0
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2013-5-19 19:24
0
[讨论]看雪IOS客户端开发
最近开始学习ios开发,也想参与下。
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2013-4-18 13:55
1
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2013-1-8 20:05
0
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2012-12-4 19:43
0
[原创]实时混淆在线编译器
200byte ->200kb
只要搞清楚Client对这200kb的处理方式,还有必要去逆向这200kb的数据吗?
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2012-11-12 15:54
0
[原创]IncrediBuild 4.5 注册算法分析
哈哈  这个意思啊   明白了。 谢谢
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2012-11-12 15:40
0
[原创]IncrediBuild 4.5 注册算法分析
我测试了   时间不能改啊     只能是 2013-1-1.
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2012-11-8 23:13
0
[求助]win7下管理员权限的进程如何创建一个非管理员权限进程
结贴。楼上是我一朋友,刚好这个问题昨天解决了,想把kx给他转正,求大家不要举报我啊~~~谢谢各位大神。。。

http://hi.baidu.com/blueapple_c/item/52b7d529beb7c30f76272cd7

下面公布代码,可能有点细节需要调整:
-------- CreateProcessEx.h文件 --------
#ifndef _CREATE_PROCESS_EX_H_
#define _CREATE_PROCESS_EX_H_
#include <windows.h>
#include "tchar.h"
#pragma comment(lib, "shell32")
#pragma comment(lib, "user32")
#pragma comment(lib, "Advapi32.lib")

//以普通权限启动进程
BOOL CreateProcessLow(TCHAR * lpApplicationName, 
 TCHAR * lpCommandLine = NULL, 
 TCHAR * lpDirectory = NULL,
 UINTnShow = SW_SHOWNORMAL);
//以管理员权限启动进程
BOOL CreateProcessHigh(TCHAR * strProcessName, 
 TCHAR * strCommandLine = NULL, 
 TCHAR * lpDirectory = NULL,
 UINTnShow = SW_SHOWNORMAL);
#endif //_CREATE_PROCESS_EX_H_
-------- CreateProcessEx.h文件 --------


-------- CreateProcessEx.cpp文件 --------
#include "CreateProcessEx.h"
#include <string>
using namespace std;

typedef BOOL (WINAPI *F_CreateProcessWithTokenW)(
__in          HANDLE hToken,
__in          DWORD dwLogonFlags,
__in          LPCWSTR lpApplicationName,
__in          LPWSTR lpCommandLine,
__in          DWORD dwCreationFlags,
__in          LPVOID lpEnvironment,
__in          LPCWSTR lpCurrentDirectory,
__in          LPSTARTUPINFOW lpStartupInfo,
__out         LPPROCESS_INFORMATION lpProcessInfo
);

HANDLE DupExplorerToken();
BOOL IsVistaOrLater();
BOOL IsAdminPrivilege();


//以普通权限启动进程
BOOL CreateProcessLow(TCHAR * lpApplicationName, 
 TCHAR * lpCommandLine, 
 TCHAR * lpDirectory,
 UINTnShow)
{
if (!IsVistaOrLater()
|| !IsAdminPrivilege())
{
HINSTANCE hRet = ShellExecute(NULL, _T("open"), lpApplicationName, lpCommandLine, lpDirectory, nShow);
return ((int)hRet > 32);
}
HANDLE hToken = DupExplorerToken();

if (hToken == NULL)
return FALSE;

static HMODULE hDll = LoadLibrary(_T("ADVAPI32.dll"));
if (!hDll)
{
CloseHandle(hToken);
return FALSE;
}
F_CreateProcessWithTokenW pfn = (F_CreateProcessWithTokenW)GetProcAddress(hDll, "CreateProcessWithTokenW");
if (!pfn)
{
CloseHandle(hToken);
return FALSE;
}

STARTUPINFO si = {sizeof(STARTUPINFO)};
PROCESS_INFORMATION pi = {0};
BOOL ret = pfn(hToken, 
LOGON_WITH_PROFILE, 
lpApplicationName, 
lpCommandLine, 
NORMAL_PRIORITY_CLASS, 
NULL, 
lpDirectory, 
&si, 
&pi);
if (ret)
{
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}

CloseHandle(hToken);
return ret;
}

//以管理员权限启动进程
BOOL CreateProcessHigh(TCHAR * lpApplicationName, 
  TCHAR * lpCommandLine, 
  TCHAR * lpDirectory,
  UINTnShow)
{
#ifdef _UNICODE
wstring command;
#else
string command;
#endif

if (lpCommandLine)
{
command = lpCommandLine;
}
if (IsVistaOrLater()
&& !IsAdminPrivilege())
{
command += _T(" -Admin");
}

HINSTANCE hRet = ShellExecute(NULL, _T("runas"), lpApplicationName, command.c_str(), lpDirectory, nShow);
return ((int)hRet > 32);
}


HANDLE DupExplorerToken()
{
DWORD dwPid = 0;
HWND hwnd = FindWindow(_T("Shell_TrayWnd"), NULL);
if (NULL == hwnd)
return NULL;

GetWindowThreadProcessId(hwnd, &dwPid);
if (dwPid == 0)
return NULL;

HANDLE hExplorer = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwPid);
if (hExplorer == NULL)
return NULL;

HANDLE hToken = NULL;
OpenProcessToken(hExplorer, TOKEN_DUPLICATE, &hToken);
CloseHandle(hExplorer);

HANDLE hNewToken = NULL;
DuplicateTokenEx(hToken, TOKEN_ALL_ACCESS, NULL, SecurityImpersonation, TokenPrimary, &hNewToken);
CloseHandle(hToken);

return hNewToken;
}

BOOL IsVistaOrLater()
{
OSVERSIONINFOEX version = {sizeof(OSVERSIONINFOEX)};
if (!GetVersionEx((LPOSVERSIONINFO)&version))
{
version.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
if (!GetVersionEx((LPOSVERSIONINFO)&version))
{
return FALSE;
}
}

return (version.dwMajorVersion >= 6);
}

BOOL IsAdminPrivilege()
{
BOOL bIsAdmin = FALSE;
BOOL bRet = FALSE;
SID_IDENTIFIER_AUTHORITY idetifier = SECURITY_NT_AUTHORITY;
PSID pAdministratorGroup;
if (AllocateAndInitializeSid(
&idetifier,
2,
SECURITY_BUILTIN_DOMAIN_RID,
DOMAIN_ALIAS_RID_ADMINS,
0,0,0,0,0,0,
&pAdministratorGroup))
{
if (!CheckTokenMembership(NULL, pAdministratorGroup, &bRet))
{
bIsAdmin = FALSE;
}
if (bRet)
{
bIsAdmin = TRUE;
}
FreeSid(pAdministratorGroup);
}

return bIsAdmin;
}
-------- CreateProcessEx.cpp文件 --------
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2012-11-3 00:18
0
有研究metasploit的朋友嘛?
lz懂什么是算法?
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2012-10-29 23:24
0
[分享]菜鸟用SDK写了个系统锁
加几行  禁止Windows 键
	if (pKHS->vkCode == VK_LWIN
		|| pKHS->vkCode == VK_RWIN)
	{
		return TRUE;
	}
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2012-9-17 22:00
0
....
哪怕你把那位仁兄的资料直接copy过来   也比你弄个连接强
会有人认为你连写个简历都懒的写   
这么点耐心都没有   
这么敷衍了事   
怎么写出好程序?

个人想法,真心希望对你有用。
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2012-7-18 10:18
0
ReadProcessMemory失败,GetLastError()错误码为299
299错误的解释是:仅完成部分的 ReadProcessMemory 或 WriteProcessMemory 请求。

看到这个解释,你应该能想到这个操作还没结束,需要继续读。举个例子,假如一个文件上G,你可能一次都读到内存吗?是不是需要分多次读?

lz的需求或许还有另外一种思路,hook 记事本的打开文件的动作,截获的txt等文件的全路径,自己去读文件。
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2012-7-11 16:46
0
[分享]派发50个“金山火眼”系统激活码[已结束]
还有剩的么?求一个 来晚了。
雪    币: 458
活跃值: (426)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
blueapplez 14 2012-7-8 11:47
0
[原创]放一个扭曲CrackMe
[QUOTE=sessiondiy;1085630]看了5分钟, 我不知道你这么懒
http://bbs.pediy.com/showthread.php?t=129131
7楼[/QUOTE]

哈哈  s牛   这都被你发现了。  我确实够懒的。。。。 笑死我了都。
精华数
RANk
458
雪币
426
活跃值
关注数
粉丝数
0
课程经验
0
学习收益
0
学习时长
基本信息
  能力排名: No.433
  等    级: LV9
活跃值  活跃值:活跃值
  在线值:
  浏览人数:498
  最近活跃:2025-1-22 11:45
  注册时间:2009-05-15
勋章
能力值

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册