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

A400互联1H/1G/10M/300G流量37.8元/季

A400互联是一家成立于2020年的商家,本次给大家带来的是,全新上线的香港节点,cmi+cn2线路,全场香港产品7折优惠,优惠码0711,A400互联,只为给你提供更快,更稳,更实惠的套餐。目前,商家推出香港cn2节点+cmi线路云主机,1H/1G/10M/300G流量,37.8元/季,云上日子,你我共享。A400互联优惠码:七折优惠码:0711A400互联优惠方案:适合建站,个人开发爱好者配置...

ReadyDedis:VPS全场5折,1G内存套餐月付2美元起,8个机房可选_服务器安装svn

ReadyDedis是一家2018年成立的国外VPS商家,由印度人开设,主要提供VPS和独立服务器租用等,可选数据中心包括美国洛杉矶、西雅图、亚特兰大、纽约、拉斯维加斯、杰克逊维尔、印度和德国等。目前,商家针对全部VPS主机提供新年5折优惠码,优惠后最低套餐1GB内存每月仅需2美元起,所有VPS均为1Gbps端口不限流量方式。下面列出几款主机配置信息。CPU:1core内存:1GB硬盘:25GB ...

美国VPS 美国高防VPS 香港VPS 日本VPS 首月9元 百纵科技

百纵科技湖南百纵科技有限公司是一家具有ISP ICP 电信增值许可证的正规公司,多年不断转型探索现已颇具规模,公司成立于2009年 通过多年经营积累目前已独具一格,公司主要经营香港服务器,香港站群服务器,美国高防服务器,美国站群服务器,云服务器,母机租用托管!美国CN2云服务器,美国VPS,美国高防云主机,美国独立服务器,美国站群服务器,美国母机。美国原生IP支持大批量订货 合作 适用电商 亚马逊...

outputdebugstring为你推荐
scheduleatfixedrateTimer和ScheduledThreadPoolExecutor的区别ostringstreamc++怎样把double转为stringostringstreamC++中ostringstream和ostream有什么区别,菜鸟求问csonline2看新闻 csol2 马上就要发布了 我有个问题问大神们 拜托了视频压缩算法怎样把3个1G多,1个400多MB的视频文件压缩小?但又无损音质和画面清晰度的。chrome系统谷歌Chrome OS可以用来做什么?orphanremoval大家知道orphan这个单词除了孤儿还有什么意思吗?vga接口定义VGA接口的15针分别接什么?vga接口定义电脑显示屏VGA是什么意思labelforhtml标签中lable的for属性有什么作用?
长沙服务器租用 工信部域名备案系统 注册cn域名 香港ufo winhost 精品网 香港主机 iisphpmysql 512m lamp配置 国内加速器 河南服务器 大容量存储器 谁的qq空间最好看 刀片服务器的优势 刀片式服务器 速度云 1美金 江苏双线服务器 超级服务器 更多