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

virmach:AMD平台小鸡,赌一把,单车变摩托?$7.2/年-512M内存/1核/10gSSD/1T流量,多机房可选

virmach送来了夏季促销,价格低到爆炸,而且在低价的基础上还搞首年8折,也就是说VPS低至7.2美元/年。不过,这里有一点要说明:你所购买的当前的VPS将会在09/30/2021 ~ 04/30/2022进行服务器转移,而且IP还会改变,当前的Intel平台会换成AMD平台,机房也会变动(目前来看以后会从colocrossing切换到INAP和Psychz),采取的是就近原则,原来的水牛城可能...

piayun(pia云)240元/季起云服务器,香港限时季付活动,cn2线路,4核4G15M

pia云怎么样?pia云是一家2018的开办的国人商家,原名叫哔哔云,目前整合到了魔方云平台上,商家主要销售VPS服务,采用KVM虚拟架构 ,机房有美国洛杉矶、中国香港和深圳地区,洛杉矶为crea机房,三网回程CN2 GIA,带20G防御。目前,Pia云优惠促销,年付全场8折起,香港超极速CN2季付活动,4核4G15M云服务器仅240元/季起,香港CN2、美国三网CN2深圳BGP优质云服务器超高性...

GigsGigsCloud($26/年)KVM-1GB/15G SSD/2TB/洛杉矶机房

GigsGigsCloud新上了洛杉矶机房国际版线路VPS,基于KVM架构,采用SSD硬盘,年付最低26美元起。这是一家成立于2015年的马来西亚主机商,提供VPS主机和独立服务器租用,数据中心包括美国洛杉矶、中国香港、新加坡、马来西亚和日本等。商家VPS主机基于KVM架构,所选均为国内直连或者优化线路,比如洛杉矶机房有CN2 GIA、AS9929或者高防线路等。下面列出这款年付VPS主机配置信息...

outputdebugstring为你推荐
李智慧李智慧的《Goodbye to romance》的中文歌词草莓派如何最简单的制作出好吃的草莓派?csonline2看新闻 csol2 马上就要发布了 我有个问题问大神们 拜托了chrome系统谷歌Chrome OS可以用来做什么?orphanremoval大家知道orphan这个单词除了孤儿还有什么意思吗?搜索引擎的概念搜索引擎营销的概念是什么?天翼校园宽带校园天翼宽带是什么上网类型微软操作系统下载微软的系统到哪下载kjava谁能告诉我KJAVA是什么意思和普通的JAVA程序有什么区别?移动硬盘文件或目录损坏且无法读取双击移动硬盘提示文件或目录损坏且无法读取怎么回事?
Oray域名注册服务商 西部数码vps locvps jsp主机 360抢票助手 光棍节日志 标准机柜尺寸 什么是服务器托管 服务器托管什么意思 免费私人服务器 华为云盘 shuang12 中国电信网络测速 个人免费邮箱 主机返佣 稳定空间 云服务是什么意思 wordpress空间 server2008 认证机构 更多