VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 283|回复: 7

[已解决]自己写了一个远程线程注入 实际测试并不能注入 老哥们帮忙看下

[复制链接]
86_avatar_middle
最佳答案
0 
online_vip 发表于 2019-12-18 08:14:11 | 显示全部楼层 |阅读模式
本帖最后由 x635775712 于 2019-12-18 09:58 编辑

如题

自己写了一个远程线程注入 实际测试并不能注入  老哥们帮忙看下
自己写了一个远程线程注入 实际测试并不能注入  老哥们帮忙看下 inject.rar (128.75 KB, 下载次数: 0)




上一篇:C/C++ dll函数导出问题
下一篇:在宽窄字节转换时,出现 LNK1169 找到一个或多个多重定义的符号
20_avatar_middle
最佳答案
4 
在线会员 发表于 2019-12-18 18:07:04 | 显示全部楼层    本楼为最佳答案   
bestAnswer
首先看你的注入函数参数是char类型的数组,也就相当于char*类型。
bool remoteThreadInject::injectDll(char DLL_PATH[])

然后再看你远线程调用的api函数是
LPTHREAD_START_ROUTINE  funcAddress=(LPTHREAD_START_ROUTINE)GetProcAddress(hModule,"LoadLibraryW");

你传一个多字节的字符串给LoadLibraryW,你觉得能成功吗?
51_avatar_middle
最佳答案
82 
online_admins 发表于 2019-12-18 12:33:42 | 显示全部楼层
到底是哪个 AfxMessageBox 提示了,或者说哪个函数返回失败了?
有可能是权限的问题
86_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-12-18 13:03:58 | 显示全部楼层
本帖最后由 x635775712 于 2019-12-18 13:08 编辑
Syc 发表于 2019-12-18 12:33
到底是哪个 AfxMessageBox 提示了,或者说哪个函数返回失败了?
有可能是权限的问题


没有返回错误提示  查找路径确实写进去了  执行也成功了

自己写了一个远程线程注入 实际测试并不能注入  老哥们帮忙看下
86_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-12-18 13:39:30 | 显示全部楼层
dll
  1. // dllmain.cpp : 定义 DLL 应用程序的入口点。
  2. #include "stdafx.h"
  3. #include <tchar.h>

  4. BOOL APIENTRY DllMain( HMODULE hModule,
  5.                        DWORD  ul_reason_for_call,
  6.                        LPVOID lpReserved
  7.                                          )
  8. {
  9.         switch (ul_reason_for_call)
  10.         {
  11.         case DLL_PROCESS_ATTACH:
  12.                 ::MessageBoxW(NULL, _T("dll"), _T("b.dll"), MB_OK);
  13.                
  14.         case DLL_THREAD_ATTACH:
  15.         case DLL_THREAD_DETACH:
  16.         case DLL_PROCESS_DETACH:
  17.                 break;
  18.         }
  19.         return TRUE;
  20. }

复制代码
86_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-12-18 17:09:51 | 显示全部楼层
添加了 进程权限 也是不行
  1. BOOL remoteThreadInject::EnableDebugPrivilege(BOOL bEnable)
  2. {

  3.         BOOL fOK = FALSE;
  4.         HANDLE hToken;
  5.         if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken)) //打开进程访问令牌
  6.         {
  7.                 //试图修改“调试”特权
  8.                 TOKEN_PRIVILEGES tp;
  9.                 tp.PrivilegeCount = 1;
  10.                 LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tp.Privileges[0].Luid);
  11.                 tp.Privileges[0].Attributes = bEnable ? SE_PRIVILEGE_ENABLED : 0;
  12.                 AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL);
  13.                 fOK = (GetLastError() == ERROR_SUCCESS);
  14.                 CloseHandle(hToken);
  15.         }
  16.         return fOK;
  17. }
复制代码
86_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-12-18 22:47:40 | 显示全部楼层
VC6 发表于 2019-12-18 18:07
首先看你的注入函数参数是char类型的数组,也就相当于char*类型。
bool remoteThreadInject::injectDll(ch ...

谢了老哥  我查了好久都没找到  还是基本功不行  又学习了...
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-9-25 12:30

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表