首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Windows CE 系统进程组件应用开发

这篇文章说明了如何使用 WindowS CE 6.0 系统 DCOM ,开发 com 服务进程。向客户端提供跨进程 COM 组件服务,以及自定义接口代理 / 存根 dll 建立,注册。...Windows CE 镜像需要包括 DCOM 组件服务 不幸是由于系统空间限制,很多基于 Windows CE 系统 OS 都不支持 DCOM 。...需要使用 Platfom Builder 向我们 Windows CE 镜像添加 DCOM 。 另外必须导出支持 DCOM API Windows CE SDK 开发包。...当然,在 windows XP/2000 系统,如果我们在 COM 方法中使用 OLE 兼容数据类型,我们可以不提供代理 / 存根 DLL 。...在机器是使用是还需注册才行。 如何调用进程组件 ( Client 程序) 对应客户端而已,基本上和调用进程内组件没什么区别了。

75620
您找到你想要的搜索结果了吗?
是的
没有找到

windows DLL注入之注册表注入

h) 输入法注入 3 .DLL注册表注入技术具体实现案例: 3.1 注册表注入原理: 在windows系统,整个系统配置都保存在了注册表,我们通过修改注册表配置来改变系统行为,也可以改变某个进程某些行为...由于注册表项DLL进程创建早期就被User32.dll加载到了进程,User32.dll不会检测每个DLL载入是否成功,所以调用这些DLL函数可能会出问题。...3.3 注意事项: 在众多DLL注入方法使用注册表注入是最简单一种方式。但是有一点要注意: 被注入进程时64位,那么注入DLL也应该是64位,32位对应32位。...DLL注入到使用了User32.dllGUI程序(GUI程序中大多使用了User32.dll)。...CUI程序大多不使用User32.dll,所以就不能使用注册表注入。 使用了User32.dllGUI程序(GUI程序中大多使用了User32.dll)。

2.4K41

3.1 DLL注入:常规远程线程注入

DLL注入实现方式有许多,典型实现方式为远程线程注入,该注入方式注入原理是利用了Windows系统中提供CreateRemoteThread()这个API函数,该函数第四个参数是准备运行线程,...我们将LoadLibrary()函数填入其中,这样就可以执行远程进程LoadLibrary()函数,进而将我们自己准备DLL加载到远程进程空间中执行,DLL在被装载后则会自动执行初始化部分。...函数,CreateRemoteThread是Windows系统一个函数,能够在指定进程上下文中创建一个线程。...该函数可以使一个进程在另一个进程执行任意代码,并返回新线程句柄。在DLL注入,我们可以使用该函数在目标进程上下文中创建一个新线程,从而使我们DLL代码被加载和运行。...lpThreadId: 如果非NULL,返回新线程ID号。 在DLL注入,我们可以使用它来在指定进程上下文中执行我们DLL代码,使其被加载和运行。

23310

3.1 DLL注入:常规远程线程注入

我们将LoadLibrary()函数填入其中,这样就可以执行远程进程LoadLibrary()函数,进而将我们自己准备DLL加载到远程进程空间中执行,DLL在被装载后则会自动执行初始化部分。...远程线程注入实现可以总结为如下流程;1.OpenProcess 打开进程获取进程句柄2.VirtualAllocEx 在目标进程申请一块内存3.WriteProcessMemory 将注入DLL路径写出到内存...函数,CreateRemoteThread是Windows系统一个函数,能够在指定进程上下文中创建一个线程。...该函数可以使一个进程在另一个进程执行任意代码,并返回新线程句柄。在DLL注入,我们可以使用该函数在目标进程上下文中创建一个新线程,从而使我们DLL代码被加载和运行。...lpThreadId: 如果非NULL,返回新线程ID号。在DLL注入,我们可以使用它来在指定进程上下文中执行我们DLL代码,使其被加载和运行。

69351

4.5 MinHook 挂钩技术

GitHub地址: https://github.com/TsudaKageyu/minhook读者可自行下载对应库文件,本节所使用是MinHook_133_lib版本,并配置好对应包含文件以及库目录...在DllMain函数,如果是DLL进程附加事件,则执行SetHook函数,如果是DLL进程分离事件,则执行UnHook函数禁用和释放钩子。...CreateProcessW函数,在Windows操作系统,大部分进程都是由 explorer.exe 进程派生出来。...通过对该进程进行挂钩,即可实现监控应用层其他进程创建或销毁目的,读者可自行使用64位库编译下方代码,并注入到explorer.exe进程,即可实现监控进程创建功能。...,并将其注入到explorer.exe文件,至此当有新进程被加载时则会弹出该进程详细路径信息,如下图所示;图片本文作者: 王瑞本文链接: https://www.lyshark.com/post/c425464c.html

36740

4.5 MinHook 挂钩技术

在DllMain函数,如果是DLL进程附加事件,则执行SetHook函数,如果是DLL进程分离事件,则执行UnHook函数禁用和释放钩子。...编译上述代码,使用注入器将hook.dll注入到特定进程内,此时点击弹窗提示会发现弹窗内容已经被替代了,如下图所示; 实现修改窗口标题 一般来说程序修改标题功能都是调用SetWindowTextA...程序,通过劫持程序内CreateProcessW函数,在Windows操作系统,大部分进程都是由 explorer.exe 进程派生出来。...通过对该进程进行挂钩,即可实现监控应用层其他进程创建或销毁目的,读者可自行使用64位库编译下方代码,并注入到explorer.exe进程,即可实现监控进程创建功能。...读者可使用x64模式编译上方代码,并将其注入到explorer.exe文件,至此当有新进程被加载时则会弹出该进程详细路径信息,如下图所示; 本文作者: 王瑞 本文链接: https://www.lyshark.com

18220

PPLcontrol:一款功能强大受保护进程安全控制工具

关于PPLcontrol PPLcontrol是一款功能强大受保护进程安全控制工具,在该工具帮助下,广大研究人员可以快速枚举出目标操作系统受保护进程,并获取指定进程保护级别,或给目标进程设置任意保护级别...2、安装MSI驱动程序 注意事项:千万不要直接在你自己本地主机安装该驱动程序,请一定要使用虚拟机!!!...(向右滑动,查看更多) 使用API Monitor(API监控工具)审查一个受保护进程 除了打开目标进程,API Monitor还会向其中注入DLL。...因此,在apimonitor.exe进程上设置任意保护级别是不够。由于注入DLL没有正确签名,因此目标进程Section签名标志可能会阻止加载它。...(向右滑动,查看更多) 1、获取目标进程进程ID,即PID; 2、使用PPLcontrol获取目标进程保护级别; 3、取消进程保护; 4、使用API Monitor对进程执行监控; 5、恢复目标进程保护

44910

3.4 DLL注入:全局消息钩子注入

SetWindowHookEx 是Windows系统一个函数,可用于让一个应用程序安装全局钩子,但读者需要格外注意该方法安装钩子会由操作系统注入到所有可执行进程内,虽然该注入方式可以用于绕过游戏保护实现注入...,但由于其属于全局注入所以所有的进程都会受到影响,而如果想要解决这个问题,则需要在DllMain()也就是动态链接库开头位置进行判断,如果是我们所需操作进程则执行该DLL模块内功能,如果不是则自动跳过不执行任何操作即可实现指定进程注入方式...hMod:把钩子函数插入挂钩链应用程序句柄,该参数通常被设置为包含钩子函数代码DLL模块句柄。...在安装全局消息钩子时,读者需要在DLL对外暴漏两个接口,其中SetHook()用于设置钩子,UnHook()则用于取消钩子,在DLL入口处,通过调用GetFristModuleName()我们可以判断当前进程是否为我们所需操作进程...")获取到该模块SetHook函数内存地址,最后直接调用SetHook()安装一个全局钩子,实现安装代码流程如下所示; #include #include <windows.h

25220

3.4 DLL注入:全局消息钩子注入

SetWindowHookEx 是Windows系统一个函数,可用于让一个应用程序安装全局钩子,但读者需要格外注意该方法安装钩子会由操作系统注入到所有可执行进程内,虽然该注入方式可以用于绕过游戏保护实现注入...,但由于其属于全局注入所以所有的进程都会受到影响,而如果想要解决这个问题,则需要在DllMain()也就是动态链接库开头位置进行判断,如果是我们所需操作进程则执行该DLL模块内功能,如果不是则自动跳过不执行任何操作即可实现指定进程注入方式...hMod:把钩子函数插入挂钩链应用程序句柄,该参数通常被设置为包含钩子函数代码DLL模块句柄。...在安装全局消息钩子时,读者需要在DLL对外暴漏两个接口,其中SetHook()用于设置钩子,UnHook()则用于取消钩子,在DLL入口处,通过调用GetFristModuleName()我们可以判断当前进程是否为我们所需操作进程...DLL程序,在调用DLL之前,我们需要通过LoadLibrary()将此模块加载到内存,并通过GetProcAddress(hMod, "SetHook")获取到该模块SetHook函数内存地址

38030

IE 沙箱拖拽安全策略解析

PrivDragDrop 可以看到,最终实现拖拽操作函数是ole32!PrivDragDrop,通过使用函数偏移硬编码函数地址,可以调用到ole32.dll内部函数。...当我们在IE沙箱中用鼠标进行拖拽操作时,沙箱内IE Tab进程会通过ShdocvwBroker将数据转发给沙箱进程,在主进程完成拖拽操作。...也就是说,真正完成拖拽操作是在沙箱IE主进程内。两个进程函数调用情况大致如下: IE子进程(沙箱): MSHTML!CDoc::DoDrag -->MSHTML!...对于第一种方法,由于我们是在沙箱内,只能通过Broker接口代理才能从沙箱中出来,进入到IE主进程进程空间。所以我们并不能调到主进程dll内部函数,进而这种方法是不可行。...IE沙箱通过在IEShims.dllhook特定函数和借助系统UIPI特性(Windows Vista以上)对拖拽操作进行了有效安全限制。

1.6K10

Protected Process Light (PPL) Attack

当时要求是镜像文件(即可执行文件)必须使用特殊 Windows Media 证书进行数字签名(如Windows Internals“受保护进程”部分中所述 https://docs.microsoft.com...由于 PPL 不检查已知 DLL 数字签名,因此以后可以使用它来执行 DLL 劫持攻击并在 PPL 执行任意代码。...此外,加载到受保护进程任何非 Windows DLL 都必须使用适当证书进行签名。...DLL hijacking在PPL进程执行任意代码 回看微软文档关于Protecting Anti-Malware Services内容时,可以看到具有这样描述一句话: DLL signing...加载到受保护服务任何非 Windows DLL必须使用用于签署反恶意软件服务相同证书进行签名。那么如果加载windowsDLL是否为不用签名?

1.6K20

3.2 DLL注入:远程APC异步注入

APC机制与DLL注入关系在于,可以使用APC机制将某些代码注入到另一个进程,并由该进程执行。...读者可以使用NtQueueApcThread或QueueUserAPC等函数将用户定义函数添加到目标进程APC队列,目标线程将在调用SleepEx或SignalObjectAndWait等函数时执行注入函数...但读者需要注意,注入函数必须是一个简短、没有长时间阻塞代码块,通常会加载DLL或者在目标线程打开其他进程。QueueUserAPC 函数允许将一个用户定义函数添加到指定线程对应APC队列。...在DLL注入,可以使用QueueUserAPC函数向目标进程线程APC队列插入一个我们定义函数指针,使该函数在目标线程执行时运行,从而实现DLL注入目的。...;1.WriteProcessMemory 将需要加载DLL完整路径写入目标进程空间2.获得LoadLibraryA函数地址,当然也可以是LoadLibraryW函数地址3.枚举目标进程所有线程

32740

进程注入1:通过LoadLibrary注入DLL

进程可以使用该句柄在对GetProcAddress,FreeLibrary或FreeLibraryAndExitThread函数调用识别DLLGetModuleHandle函数返回使用手柄GetProcAddress...如果用户可以提供缺少DLL完整路径,则该进程可以使用此信息来加载DLL,即使它不在常规搜索路径也是如此。这种情况与加载时链接形成对比,在加载时链接,如果找不到DLL,系统将简单地终止进程。...那么Dll从一开始就可以映射到进程内存并执行,所以我们可以利用Dll把shell注入到进程。...构造注入程序 LoadLibrary是Windows API一个函数,它可以将一个DLL加载到调用进程和调用内存DLLMain(将指定模块加载到调用进程地址空间中) 使用语法 C ++ HMODULE...在TEXT()可以确保我们使用是正确编码。 然后使用VirtualAllocEx 函数在指定进程中提交内存区域。

2.2K30

总结到目前为止发现所有EDR绕过方法

用户模式最后一个实例是NTDLL.dllWindows API函数。如果调用了NTDLL.dll任何功能,则CPU接下来将切换到内核模式,AV/EDR就不再能够监视该模式。...您可以找到DLL文件,这些文件是通过Sysinternals procexp64.exe从AV/EDR加载到进程。...通过使用此方法,AV / EDR系统可以修补Windows库文件(如NTDLL.dll内存副本 与P / Invoke相比,D / Invoke在运行时手动加载Windows API函数,并使用指向其在内存位置指针来调用该函数...\System32\ntdll.dll"); OverloadMapping-除了手动映射,存储在内存有效负载还由磁盘上合法文件支持。...与以前相比,SharpBlock使用方法有所不同。它正在创建一个新进程,并使用Windows调试API侦听LOAD_DLL_DEBUG_EVENT事件。

7.7K31

3.2 DLL注入:远程APC异步注入

APC机制与DLL注入关系在于,可以使用APC机制将某些代码注入到另一个进程,并由该进程执行。...读者可以使用NtQueueApcThread或QueueUserAPC等函数将用户定义函数添加到目标进程APC队列,目标线程将在调用SleepEx或SignalObjectAndWait等函数时执行注入函数...但读者需要注意,注入函数必须是一个简短、没有长时间阻塞代码块,通常会加载DLL或者在目标线程打开其他进程。...在DLL注入,可以使用QueueUserAPC函数向目标进程线程APC队列插入一个我们定义函数指针,使该函数在目标线程执行时运行,从而实现DLL注入目的。...; 1.WriteProcessMemory 将需要加载DLL完整路径写入目标进程空间 2.获得LoadLibraryA函数地址,当然也可以是LoadLibraryW函数地址 3.枚举目标进程所有线程

24620

DLL攻击漫谈

动态链接库(DLL方式以及Windows API指示使用它们方式都可以用作任意代码执行接口,并协助恶意行为者实现其目标。 动态链接库是Microsoft实施共享库产品。...DLL主要用于在系统上应用程序和进程之间共享此内容,以便在为Windows创建应用程序时为程序员提供高度灵活性。 DLL以相同访问权限在调用过程内存执行。...使用Windows操作系统时,进程加载算法关键步骤包括将动态链接库(DLL)加载到内存,以利用其功能并满足其进程DLL之间依赖关系。每当启动进程时,都会发生此操作。...我们可以使用一个“ DLLicious”工具(https://github.com/J3wker/DLLicous-MaliciousDLL)来快速编译包含shellDLL 用法 用法非常简单,只需使用...通过使用PowerShell和DLL代码包含NetCat反向Shell 并尝试与kali上侦听器联系,然后使用PowerShell打开shell 我们可以看到执行劫持进程后,将加载DLL并打开

1.2K10

APT35 启用了新 PowerShell 后门

△ 执行流程 解析了相关 DLL 文件和 API 调用后,开始执行 dll.dll: △ 主要代码 攻击者应该是借鉴了 GitHub 上公开代码片段,在运行时使用 CLR 运行 PowerShell...dll.dll dll.dll是一个 .NET 编写 AES 解密程序,使用硬编码密钥 ()*&3dCfabE2/123解密另一个名为 upc文件,最终执行 PowerShell 代码。...△ 进程检测 但当后门接收到终止进程命令时,后门反而会生成 powershell.exe` 进程。 △ 部分代码 代码存在大量拼写错误和语法错误,可以认为后门开发者母语并非英语。...△ 日志拼写错误 键盘记录 PowerLess 后门能够下载其中一个模块就是使用 .NET 编写键盘记录工具: △ 部分代码 键盘记录日志存储在 “C:\\Windows\\Temp\\Report...读取 Chrome 和 Edge 浏览器数据库文件,加密后以 JSON 格式写入文件。 △ 部分代码 日志存储在 C:\\Windows\\Temp\\cup.tmp。

1.1K30

CC++ 通过中转函数实现DLL劫持

当我们运行程序时,一般情况下会默认加载Ntdll.dll和Kernel32.dll这两个链接库,在进程未被创建之前Ntdll.dll库就被默认加载了,三环下任何对其劫持都是无效,除了该Dll,其他...Dll都是在程序运行时,在输入表查找到对应关系后才会被装载到内存,理论上来说对除NtDll以外其他库都是可操作。...当指定DLL需要加载时,系统会首先查询该表是否存在有缓存数据,如果有则就直接调用NtMapViewOfSection函数将其映射到特定进程内存,如果没有则就需要根据如下顺序动态查找。...先查找,正在加载DLL进程可执行目录。 查找系统system32目录下是否存在。 查找,正在加载DLL进程的当前目录。 Path环境变量定义。...时直接将请求转发到我们自己DLL,我们DLL再将请求转发到真实DLL上面,使用本节课小工具可以快速构建转发函数表,执行如下命令即可:GenEAT.exe -d c://lyshark.dll

90710

任意文件移动导致Windows提权攻击分析

如果你对特权服务将执行文件有写权限,或者对它将寻找DLL目录有写权限,你就可以在这个特权进程执行你payload。...不过,无权限用户可以在Windows “对象管理器 “创建符号链接,顾名思义,它可以管理进程、部分和文件等对象。对象管理器使用符号链接,例如驱动器字母和命名管道与相应设备相关联。...在特权进程上下文中,通过任意写入文件来获得代码执行两种常用技术是: DLL劫持:在一个特权进程将加载它位置创建一个DLL(在应用程序目录,在System32、Windows或SYSTEM%PATH...使用C:\Windows/System32/Wow64Log.dll在32位特权进程中加载64位DLL。这个DLL在默认情况下并不存在(Windows10 消费者版本上),它在所有32位进程中加载。...因此,如果你能在System32创建一个带有有效载荷文件test.log(当然文件内容必须是DLL),只需使用该技术在特权服务中加载该DLL

1.3K20
领券