首页
课程
问答
CTF
社区
招聘
看雪峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
看雪峰会
看雪商城
证书查询
看雪社区
¥付费问答
发新帖
4
6
[旧帖]
[原创][申请邀请码]vc通用注入器编写+源码
0.00雪花
2011-1-12 22:21
2701
[旧帖]
[原创][申请邀请码]vc通用注入器编写+源码
0.00雪花
hkady
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漏洞挖掘与利用;代码审计。
上传的附件:
注入器源码.rar
(46.60kb,66次下载)
收藏
・
4
点赞
・
6
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
最新回复
(
7
)
litomboy
雪 币:
168
活跃值:
(40)
能力值:
( LV5,RANK:60 )
在线值:
发帖
4
回帖
28
粉丝
0
关注
私信
litomboy
1
2011-1-12 23:29
2
楼
0
替楼主顶下,支持原创,不过要是楼主把思路分析过程讲出来就更好了!
panti
雪 币:
1602
活跃值:
(14)
能力值:
( LV2,RANK:10 )
在线值:
发帖
18
回帖
255
粉丝
0
关注
私信
panti
2011-1-14 11:00
3
楼
0
这个看看方便
盖地虎
雪 币:
114
活跃值:
(69)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
5
粉丝
0
关注
私信
盖地虎
2011-3-7 09:51
4
楼
0
收藏一下,以后备用
fishmaster
雪 币:
79
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
2
回帖
13
粉丝
0
关注
私信
fishmaster
2011-3-7 14:38
5
楼
0
貌似只要内容多并且原创就能拿到申请码。。。
DMemory
雪 币:
3987
活跃值:
(2390)
能力值:
( LV10,RANK:165 )
在线值:
发帖
11
回帖
93
粉丝
85
关注
私信
DMemory
3
2011-3-7 16:47
6
楼
0
是可以注入到动态链接库没错,先支持一下
但是注入进去又有什么用呢……只是一次性的,下次开机就要重新注入,而且注入进去的代码要如何调用呢?这也是个问题……
myechao
雪 币:
558
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
3
粉丝
0
关注
私信
myechao
2011-3-7 17:20
7
楼
0
应该下了学习下,谢谢楼主分享
SaikSy
雪 币:
173
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
25
粉丝
0
关注
私信
SaikSy
2011-4-8 10:06
8
楼
0
不错,支持一下
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
hkady
1
发帖
3
回帖
20
RANK
关注
私信
他的文章
[原创][申请邀请码]vc通用注入器编写+源码
2702
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
谁下载
×
linyangcan
jiangdf
房有亮
greenrock
shrxbs
JohnsonGuo
xhltoo
Mx¢Xgt
kankanyhc
kxzpy
ydfivy
xiaojinge
wuhueixiao
wangma
我们闪了
machimilk
SaikSy
yinchengak
hkady
tokiii
笔雪
fqhlxw
joeyye
evilkis
booyd
gaollxu
嗨喽
cyberad
ttgood
幸运狼
yuuoop
lzahenu
wdwpjg
MaYil
诶一
千鸟加奈
wzcnzbs
程序原
jaix
CDDD
linlibin
看原图
返回
顶部