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博客,转载请标明出处:

NameCheap黑色星期五和网络礼拜一

如果我们较早关注NameCheap商家的朋友应该记得前几年商家黑色星期五和网络星期一的时候大促采用的闪购活动,每一个小时轮番变化一次促销活动而且限量的。那时候会导致拥挤官网打不开迟缓的问题。从去年开始,包括今年,NameCheap商家比较直接的告诉你黑色星期五和网络星期一为期6天的活动。没有给你限量的活动,只有限时六天,这个是到11月29日。如果我们有需要新注册、转入域名的可以参加,优惠力度还是比...

HostKvm(4.25美)香港和俄罗斯高防机房云服务器

HostKvm 商家我们算是比较熟悉的国内商家,商家主要还是提供以亚洲数据中心,以及直连海外线路的服务商。这次商家有新增香港和俄罗斯两个机房的高防服务器方案。默认提供30GB防御,且目前半价优惠至4.25美元起步,其他方案的VPS主机还是正常的八折优惠。我们看看优惠活动。香港和俄罗斯半价优惠:2021fall,限购100台。通用优惠码:2021 ,八折优惠全部VPS。我们看看具体的套餐。1、香港高...

Hosteons:新上1Gbps带宽KVM主机$21/年起,AMD Ryzen CPU+NVMe高性能主机$24/年起_韩国便宜服务器

我们在去年12月分享过Hosteons新上AMD Ryzen9 3900X CPU及DDR4内存、NVMe硬盘的高性能VPS产品的消息,目前商家再次发布了产品更新信息,暂停新开100M带宽KVM套餐,新订单转而升级为新的Budget KVM VPS(SSD)系列,带宽为1Gbps端口,且配置大幅升级,目前100M带宽仅保留OpenVZ架构产品可新订购,所有原有主机不变,用户一直续费一直可用。Bud...

outputdebugstring为你推荐
iso20000认证为什么ISO20000认证能够风靡全球?它对整个企业的发展有什么好处?视频压缩算法怎样把3个1G多,1个400多MB的视频文件压缩小?但又无损音质和画面清晰度的。搜索引擎的概念什么叫搜索引擎?搜索引擎的类型有哪些?模式识别算法机器学习和模式识别有什么区别?看教材,发现它们的算法都差不多一样啊。。。数据挖掘项目将来想从事统计分析和数据挖掘,需要哪些技能腾讯技术腾讯QQ是谁研发的?在那一年上市的?腾讯技术腾讯简介----什么是生态系统生态系统的功能有什么?超级播放器那种电影网站就是那种不需要下载播放器可以直接看河北云办税厅河北省商务厅的人员编制
未注册域名查询 免费申请域名和空间 海外服务器 60g硬盘 商家促销 国内php空间 双拼域名 日本bb瘦 工作站服务器 免费高速空间 域名与空间 丽萨 石家庄服务器托管 西安主机 google搜索打不开 美国服务器 hosts文件修改 nic 美国西雅图独立 主机游戏 更多