outputdebugstring怎样往.exe程序中注入.dll

outputdebugstring  时间:2021-06-10  阅读:()

如何在UAC最高级别下 在服务中CreateProcessAsUser

BOOL RunProcess(int index) { LPCSTR lpImage = ProcessNames[index]; if(!lpImage)//全路径名 如C:abca.exe { return FALSE; } HANDLE hToken; if(!GetTokenByName(hToken,"EXPLORER.EXE")) { return FALSE; } STARTUPINFO si; ZeroMemory(&si, sizeof(STARTUPINFO)); si.cb= sizeof(STARTUPINFO); = TEXT("winsta0\default"); si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = SW_SHOWMAXIMIZED; BOOL bResult = CreateProcessAsUser(hToken,lpImage,NULL,NULL,NULL, FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pProcInfo[index]); CloseHandle(hToken); if(bResult) { OutputDebugString("CreateProcessAsUser ok! "); } else { OutputDebugString("CreateProcessAsUser false! "); } return bResult; }

怎么查看OutputDebugString输出的信息?debugview

楼主这一句: 先启动了debugview 然后按F5运行我的代码。

在开发环境里调试貌似是不行的。

你可以编译了你的程序以后,直接运行你的程序,就好了,不要在开发环境里调试运行。

要是想在开发环境里看调试信息,在开发环境底部的 "输出"标签就可以看得到(VC),之所以DebugView看不到消息,应该是被开发环境截取了。

怎样往.exe程序中注入.dll

这是一个用于拦截WinSock API的程序,主要的目的并不是为了截获数据包,而是为了能从第三方角度方便地观察二进制程序调用WinSock API的情况,最直接最原始一点的想法,是为了能比较方便地调试自己写的Windows网络应用程序。

关于拦截API的方法有很多种,网上各种文章到处散布。

我用的是全局消息钩子注入进程空间,修改API调用地址。

各种方法各有优缺点,比如修改Import Table表,要对PE文件格式有比较深入的了解,但我不了解;Trojan DLL,要替换整个DLL,而且WinSock有2个版本,分别对应了2个DLL文件,一个是wsock32.dll,另一个是ws2_32.dll,每个DLL的导出函数有100多个,工作量太大;还有用Detours开发包,说实话,文档不够丰富,而且1.5版还是免费使用,2.0的就要Money了,等等等等。

不是说其它方法不好,而是说,我现在采用的方法刚好比较符合我的需求,但由此带来一个重要的问题是,不能拦截Console程序,因为没有窗口消息队列,就像现在Aweay的MySPY中DebugView功能,是通过拦截OutputDebugString这API来实现的,所以写的Console程序调用的OutputDebugString是拦截不到的,不像DebugTrack,是通过OutputDebugString的实现原理来捕捉的,可以拦截所有的输出。

曾经看到LuoCong通过SEH来实现API Hook的例子程序,程序是用Win32asm写的,看了几遍发现,似乎用Win32asm才能比较方便地利用SEH的这个“副作用”,因为除了汇编以外,其它高级语言要获得函数的参数值很是麻烦,但或许只是因为我自己水平太臭吧,不管怎么说,反正现在我是用不上这技术了。

自从在LLYF Spy中开始用过Hook后,已经有点依赖这技术的感觉了,遇到什么稍微麻烦点的问题,就会想到用Hook,而且现在也有点习惯用BCB6来编译DLL,尽管这个DLL是用纯SDK写成的,可以很方便地移植到VC上来编译,只是因为上次遇到过的奇怪的兼容性问题,使得我把BCB作为编译用于搭配BCB编译的EXE程序的DLL的首要选择。

经过一番键盘搏击,根据自己的需求估计,Hook了24个API:recv、recvfrom、send、sendto、socket、closesocket、ept、listen、bind、connect这些都有2份,wsock32.dll和ws2_32.dll各1份,WSASend、WSASendTo、WSARecv、WSARecvFrom这些只有ws2_32.dll里的那份。

不过目前只是能获得API的基本信息,像API名字,返回值,WSAGetLastError值,PID这些。

下一步的计划,是要能导出API的调用参数列表和传输数据内容。

参数列表应该不是件很难的事,而传输数据的显示,好像惯例都是用16进制加ASCII码加偏移显示的,还要花些时间在这个上面。

另外一个问题,则是同步问题。

我是用内存映射来进行进程间通信的,万一在读的时候,另一个进程在写,就不好了,所以还要找一个适当的同步机制。

最后一点,当然是稳定性,也是最重要的一点,不能因为这个进程的存在,使得其它程序也牵连受影响。

本文来自CSDN博客,转载请标明出处:

Spinservers:美国圣何塞服务器,双E5/64GB DDR4/2TB SSD/10Gbps端口月流量10TB,$111/月

spinservers怎么样?spinservers大硬盘服务器。Spinservers刚刚在美国圣何塞机房补货120台独立服务器,CPU都是双E5系列,64-512GB DDR4内存,超大SSD或NVMe存储,数量有限,机器都是预部署好的,下单即可上架,无需人工干预,有需要的朋友抓紧下单哦。Spinservers是Majestic Hosting Solutions,LLC旗下站点,主营美国独立...

个人网站备案流程及注意事项(内容方向和适用主机商)

如今我们还有在做个人网站吗?随着自媒体和短视频的发展和兴起,包括我们很多WEB2.0产品的延续,当然也包括个人建站市场的低迷和用户关注的不同,有些个人已经不在做网站。但是,由于我们有些朋友出于网站的爱好或者说是有些项目还是基于PC端网站的,还是有网友抱有信心的,比如我们看到有一些老牌个人网站依旧在运行,且还有新网站的出现。今天在这篇文章中谈谈有网友问关于个人网站备案的问题。这个也是前几天有他在选择...

OneTechCloud(31元),美国CN2 GIA高防VPS月

OneTechCloud发布了本月促销信息,全场VPS主机月付9折,季付8折,优惠后香港VPS月付25.2元起,美国CN2 GIA线路高防VPS月付31.5元起。这是一家2019年成立的国人主机商,提供VPS主机和独立服务器租用,产品数据中心包括美国洛杉矶和中国香港,Cera的机器,VPS基于KVM架构,采用SSD硬盘,其中美国洛杉矶回程CN2 GIA,可选高防。下面列出部分套餐配置信息。美国CN...

outputdebugstring为你推荐
换脸软件手机上哪个软件可以换脸?就是P金馆长那种脸 美化照片的就不要说了宝应中学宝应县有哪些高中腾讯年终奖腾讯qq一年盈利多少?star413匡威jack star 的后标是不是真的?如图网络电话永久免费打有没有永久免费的网络电话数据库界面数据库怎么进入界面腾讯贴吧QQ贴吧图标灭了后该怎样再点亮?点心os点心 OS 用户界面(UI)的设计理念是什么?embed函数c语言“sqrt函数”的用法是什么?翻译图片识别什么翻译软件能翻译图片啊?
美国虚拟主机购买 中文国际域名 vps优惠码cnyvps a2hosting namecheap java主机 免费ftp空间 godaddy域名转出 evssl 云主机51web xen 镇江联通宽带 流量计费 tna官网 支持外链的相册 in域名 中国电信网络测速 英雄联盟台服官网 双线空间 工信部icp备案查询 更多