首页
社区
课程
招聘
[旧帖] [原创][申请邀请码]vc通用注入器编写+源码 0.00雪花
2011-1-12 22:21 2701

[旧帖] [原创][申请邀请码]vc通用注入器编写+源码 0.00雪花

2011-1-12 22:21
2701
主界面有
 一个下拉列表框用于 列出当前系统进程,一个编辑框用于显示当前选择要注入的dll文件

下面这段代码用于通用对话框选择dll文件
void C注入器Dlg::OnBnClickedBtnChoosedll()
{
  // TODO: 在此添加控件通知处理程序代码
  CFileDialog dlg( TRUE );//设置通用对话框为打开 true为打开对话框 FALSE为另存为对话框
dlg.m_ofn.lpstrFilter=_T("DLL FILES(*.DLL)\0*.DLL\0ALL Files(*.*)\0*.*\0\0");//这个重点说下
//m_ofn是个结构体 其中lpstrFilter是设置后缀名的 不同类型的文件以\0分割最后以\0\0结尾
  if ( dlg.DoModal() == IDOK )
  {
    DllPath=dlg.GetPathName();//取全路径
    UpdateData(FALSE);
  }
}


这段是用ToolHelpAPI遍历出进程信息
void C注入器Dlg::OnBnClickedButton1()
{
  // TODO: 在此添加控件通知处理程序代码
  m_mylist.ResetContent();//清空列表
  HANDLE hSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//建立系统快照
  PROCESSENTRY32* processInfo=new PROCESSENTRY32;
  processInfo->dwSize=sizeof(PROCESSENTRY32);
  int C=0;
  while(Process32Next(hSnapShot,processInfo)!=FALSE)//开始遍历取进程信息
  {C++;
  CString str;  
  str.Format(_T("%d"),processInfo->th32ProcessID);//取得pid
  str=_T(" [PID]:")+str;//整理格式
  m_mylist.AddString(processInfo->szExeFile+str);//向列表加入进程名
  }
  CloseHandle(hSnapShot);//关闭句柄
}

当下拉列表选择是 作用的是下面这段代码

CString str;   //这开始有点乱 毕竟自学的
  m_mylist.GetLBText(m_mylist.GetCurSel(),str);//取得当前选中项文本
  int n=str.Find(_T(":"),0);//查找取得文本中“:”的位置
  str=str.Mid(n,6);//以前面整理字符串中”[PID]:“中的“:”为特征截取PID
  str=str.Mid(1,6);//这个不要笑我哈 实在没想到其他办法了 其实这句作用很简单就是把 “:pid”前面的“:”给去掉
  m_pid=_tcstoul(str,NULL,10);//pid转成整数 给上面的注入函数使用


最后的是注入函数代码段

BOOL Inject(LPCTSTR szModule, DWORD dwID)
{
  HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRITE, FALSE, dwID);//打开进程
  if ( !hProcess ) {
    AfxMessageBox(_T("打开进程失败"));
    return FALSE;
  }
  int cByte  = (_tcslen(szModule)+1) * sizeof(TCHAR);
  LPVOID pAddr = VirtualAllocEx(hProcess, NULL, cByte, MEM_COMMIT, PAGE_READWRITE);//申请内存
  if ( !pAddr || !WriteProcessMemory(hProcess, pAddr, szModule, cByte, NULL))//写入dll地址
  {
    AfxMessageBox(_T("申请内存失败"));
    return FALSE;
  }
...........后面的由于篇幅没有写完 
下面给出完整的源码 如果有不对的地方希望大家批评指正
注入器源码.rar

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

上传的附件:
收藏
点赞6
打赏
分享
最新回复 (7)
雪    币: 168
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
litomboy 1 2011-1-12 23:29
2
0
替楼主顶下,支持原创,不过要是楼主把思路分析过程讲出来就更好了!
雪    币: 1602
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
panti 2011-1-14 11:00
3
0
这个看看方便
雪    币: 114
活跃值: (69)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
盖地虎 2011-3-7 09:51
4
0
收藏一下,以后备用
雪    币: 79
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fishmaster 2011-3-7 14:38
5
0
貌似只要内容多并且原创就能拿到申请码。。。
雪    币: 3987
活跃值: (2390)
能力值: ( LV10,RANK:165 )
在线值:
发帖
回帖
粉丝
DMemory 3 2011-3-7 16:47
6
0
是可以注入到动态链接库没错,先支持一下
但是注入进去又有什么用呢……只是一次性的,下次开机就要重新注入,而且注入进去的代码要如何调用呢?这也是个问题……
雪    币: 558
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
myechao 2011-3-7 17:20
7
0
应该下了学习下,谢谢楼主分享
雪    币: 173
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
SaikSy 2011-4-8 10:06
8
0
不错,支持一下
游客
登录 | 注册 方可回帖
返回