
木马/远控编写
bobopeng
这个作者很懒,什么都没留下…
展开
-
PE结构详解(64位和32位的差别)
1 基本概念下表描述了贯穿于本文中的一些概念:名称描述地址是“虚拟地址”而不是“物理地址”。为什么不是“物理地址”呢?因为数据在内存的位置经常在变,这样可以节省内存开支、避开错误的内存位置等的优势。同时用户并不需要知道具体的“真实地址”,因为系统自己会为程序准备好内存空间的(只要内存足够大)镜像文件包含以EXE文件为代表的“可执行文件”、以D转载 2014-11-04 16:00:50 · 3572 阅读 · 0 评论 -
PE文件导入表的代码注入
PE文件导入表的代码注入 试想一下,如果通过修改导入表,能把PE格式文件中的函数入口点,重定向到自己的程序中来,是不是很酷!这样,在自己在程序中,可以过滤掉对某些函数的调用,或者,设置自己的处理程序,Professional Portable Executable (PE) Protector也就是这样做的。另外,某些rootkit也使用了此方法把恶意代码嵌入到正常转载 2014-08-21 20:00:45 · 1951 阅读 · 0 评论 -
Windows安全描述符SECURITY_DESCRIPTOR
安全对象Securable Object是拥有SD的Windows的对象。所有的被命名的Windows的对象都是安全对象。一些没有命名的对象是安全对象,如:进程和线程,也有安全描述符SD。安全对象Securable Object是拥有SD的Windows的对象。在 Windows系统中,其是用一个安全描述符(Security Descriptors)的结构来保存其权限的设置信息,简称为SD转载 2014-08-07 16:58:45 · 1500 阅读 · 0 评论 -
DLL劫持技术详解(lpk.dll)
说起DLL劫持技术,相信大家都不会陌生,因为这种技术的应用比较广泛,比如木马后门的启动、破解程序的内存补丁、外挂插件的注入以及加密狗的模拟等。之所以DLL劫持技术深受黑客们的喜爱,主要是因为该技术可以有效的躲过大部分杀软,并且实现起来技术难度不大。DLL劫持技术也不是什么新技术,记得在《Windows核心编程》中也有提及相关技术。可是对我们广大初学者来说,DLL劫持技术就显得很神秘了,本系列教程将转载 2014-08-18 22:19:49 · 1966 阅读 · 0 评论 -
Detours简介 (拦截x86机器上的任意的win32 API函数)
Detours当然是用detours,微软明显高腾讯一筹,同上,至今没失败过.写这种HOOK一定要再写个测试程序,不要直接HOOK你的目的程序,例如QQ,因为这样不方面更灵活的测试.说明一下:Detours是微软开发的一个函数库(源代码可在http://research.microsoft.com/sn/detours 免费获得)用于修改运行中的程序在内存中的影像,从而即使没有源代码也能改转载 2014-08-19 10:25:36 · 1341 阅读 · 0 评论 -
通过修改程序入口点实现dll注入
前两节中介绍了通过远线程进行注入的方法。现在换一种方法——修改进程入口点。(转载请指明出处) 在PE文件中,其中有个字段标识程序入口点位置。我们通过这个字段,到达程序入口点。PE文件的结构我这儿不讨论(我会在之后写关于PE文件的介绍和研究),我只列出一些和程序入口点有关的数据结构[cpp] view plaincopytypedef struct _I转载 2014-08-06 00:40:33 · 4916 阅读 · 0 评论 -
在MFC中使用WaitForSingleObject出现假死
前几天在编写远控的时候,需要在GUI线程之外创建一和原创 2014-08-05 23:38:35 · 4951 阅读 · 0 评论 -
在mfc的子线程中创建非模态的对话框出现的问题
前几天在编写一个程序的时候,需要在一个原创 2014-08-05 22:59:12 · 4519 阅读 · 0 评论 -
用实例分析使用动态库DLL与使用静态库SLL的区别
一个伟大的程序员应该知道他缩写代码的每一个字节的意义,这原创 2014-08-05 22:19:06 · 1110 阅读 · 0 评论 -
获取浏览器密码
当你在登录网站时,你是否习惯浏览器IE或者FireFox记住你的密码?即便是自己的个人电脑这样做也是很危险的,密码信息将很容易被他人窃取。IE Passview 可以查看IE记住的所有密码.下载基地: http://www.nirsoft.net/utils/iepv.zip运行IE Passview,你将看到IE中所有的被你记住的密码: FireFox则可以不用第三方工具直接查看转载 2014-07-31 13:49:05 · 4943 阅读 · 0 评论 -
打造windows下的shellcode
为了帮助初学者了解ShellCode的编写,并能一步一步操作得到自己的ShellCode,因此将Windows下ShellCode的编写过程作详细的介绍,以利于像我一样的菜鸟,最终能够写出简单的但却是真实的ShellCode;而进一步高级的ShellCode的编写,也会在系列后面的文章中一步一步的演示的,希望大家会发现,Exp真好,ShellCode最美妙! ShellCode简介和编写转载 2014-09-07 10:07:27 · 1014 阅读 · 0 评论 -
PE格式文件的代码注入
PE格式文件的代码注入 本文演示了在不需要重新编译源代码的情况下,怎样向Windows PE(Portable Executable)格式的文件(包括EXE、DLL、OCX)中注入自己的代码。 程序如图: 前言 或许,你想了解一个病毒程序是怎样把自身注入到一个正常的PE文件中的,又或者是,你为了保护某种数据而加密自己的PE文件转载 2014-08-21 20:05:35 · 1637 阅读 · 1 评论 -
链接器工具错误 "LNK2026 XXX模块对于 SAFESEH 映像是不安全的" LINK : fatal error LNK1104: 无法打开文件“LIBCD.lib”
今天使用VS2012遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于SAFESEH 映像是不安全的"解决方法:1.打开该项目的“属性页”对话框。2.单击“链接器”文件夹。3.单击“命令行”属性页。4.将 /SAFESEH:NO 键入“附加选项”框中,然后点击应用。LINK : fata转载 2014-09-26 00:31:55 · 1422 阅读 · 0 评论 -
关于stack around the variable “” was corrupted问题
http://www.cnblogs.com/flysnail/archive/2011/09/21/2184114.html原创 2014-10-30 16:13:16 · 1418 阅读 · 0 评论 -
win7 x64环境下如何拷贝自身进程文件到system32路径下
http://bbs.youkuaiyun.com/topics/390824137原创 2014-10-23 13:42:37 · 2213 阅读 · 0 评论 -
vs 2013下的_CRT_SECURE_NO_WARNINGS
整个错误就是vs2013不能容忍原创 2014-10-23 11:25:16 · 3335 阅读 · 0 评论 -
vc6.0转vs2013出现错误ON_WM_TIMER()
编译时候出现如下错error C2440: 'static_cast' : cannot convert from 'void (__thiscall XXX::* )(void)' to 'void (__thiscall CWnd::* )(UINT_PTR)'只需要吧对应的原创 2014-10-23 10:57:30 · 3384 阅读 · 1 评论 -
Unicode编码与多字节编码的转换
/**********************************************函数作用:把Unicode字符串转换为Ascii字符串参数说明:*********lpcwszStr:要转换的Unicode字符串*********lpcwszStr:接收转换结果的Ascii字符串*********dwSize:用来接收转换结果的缓冲区大小******************原创 2014-10-23 13:43:44 · 941 阅读 · 0 评论 -
获取进程信息在Realease下路径不完整的情况分析
在win7 x86 && x64下都原创 2014-10-23 13:40:58 · 865 阅读 · 0 评论 -
从利用匿名管道实现可交互式远程超级终端cmd.exe说起
为了实现原创 2014-10-23 13:29:54 · 4012 阅读 · 0 评论 -
在vs2013下出现编译错误:“buiding an mfc project for an non-unicode”
这个只要是缺少编译原创 2014-10-23 11:05:44 · 986 阅读 · 0 评论 -
vs2013 && win7 x64下出现的诡异错误:已在xxx.exe中触发一个断点
最近要把win7 x86下的工程移植到x64上来,原创 2014-10-23 11:26:49 · 3823 阅读 · 0 评论 -
以资源形式导入dll和exe实现远控配置器和dll辅助注入
在远控/木马的编写过程原创 2014-08-05 15:36:56 · 2599 阅读 · 0 评论 -
MFC中使用GetParent获得子窗口的父窗口句柄
今天真是晕了,为了解决原创 2014-07-28 23:00:57 · 6233 阅读 · 0 评论 -
给进程提权的3个方法
第一个方法:bool EnableDebugPrivilege() { HANDLE hToken; LUID sedebugnameValue; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TO转载 2014-07-20 17:14:21 · 2397 阅读 · 0 评论 -
深入解析完成端口(Completion Port )
手把手叫你玩转网络编程系列之三 完成端口(Completion Port)详解 ----- By PiggyXP(小猪)前 言 本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿转载 2014-07-18 06:18:32 · 843 阅读 · 0 评论 -
通过直接读取修改exe文件的方式编写远控/木马配置器
一般的远控或木马都有配置器,原创 2014-07-17 22:07:34 · 3588 阅读 · 1 评论 -
Windows服务编写原理及探讨(4)
(四)一些问题的讨论 前面几章的内容都是服务的一些通用的编写原理,但里面隐含着一些问题,编写简单的服务时看不出来,但遇到复杂的应用就会出现一些问题,所以本章就是用来分析、解决这些问题的,适用于高级应用的开发人员。我这一章的内容都是经过实验得到的,很有实际意义。 我在第一章里面就说过,是由一个服务的主线程执行CtrlHandler函数,它将收到各种控制命令,但是真正处理命令转载 2014-07-17 00:13:44 · 456 阅读 · 0 评论 -
Windows服务编写原理及探讨(3)
(三)对服务的深入讨论之下现在我们还剩下一个函数可以在细节上讨论,那就是服务的CtrlHandler函数。 当调用RegisterServiceCtrlHandler函数时,SCM得到并保存这个回调函数的地址。一个SCP调一个告诉SCM如何去控制服务的Win32函数,现在已经有10个预定义的控制请求:Control codeMeaning转载 2014-07-17 00:11:55 · 638 阅读 · 0 评论 -
windows服务编写原理及探讨(2)
(二)对服务的深入讨论之上 上一章其实只是概括性的介绍,下面开始才是真正的细节所在。在进入点函数里面要完成ServiceMain的初始化,准确点说是初始化一个SERVICE_TABLE_ENTRY结构数组,这个结构记录了这个服务程序里面所包含的所有服务的名称和服务的进入点函数,下面是一个SERVICE_TABLE_ENTRY的例子:SERVICE_TABLE_ENTRY serv转载 2014-07-17 00:07:23 · 512 阅读 · 0 评论 -
Windows服务编写原理及探讨(1)
有那么一类应用程序,是能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行,这就是所谓的服务了。(一)服务的基础知识Question 1. 什么是服务?它的特征是什么? 在NT/2000中,服务是一类受到操作系统优待的程序。一个服务首先是一个Win32可执行程序,如果要写一个功能完转载 2014-07-16 23:58:42 · 477 阅读 · 0 评论 -
DLL编程基础
DLL是组成windows系统的基石,在很多情况下的编程是原创 2014-07-15 23:06:57 · 531 阅读 · 0 评论 -
在Windows下使用LoadLibrary导入自定义的DLL出现998错误
今天在使用LoadLibrary导入自定义的一个DLL的时候出现了998的错误原创 2014-07-20 17:06:31 · 3736 阅读 · 0 评论 -
在windows系统下使用CMD进行服务操作
当使用“运行”输入serv原创 2014-07-22 17:16:35 · 1373 阅读 · 0 评论 -
在DLL 的DllMain函数中创建线程
最近在写一个代码的时候想在DLL的DllMain原创 2014-07-22 16:31:04 · 6695 阅读 · 2 评论 -
WM_CLOSE,WM_QUIT,WM_DESTROY的区别
WM_DESTROY, WM_CLOSE, WM_QUITWM_DESTROY 是关闭程序的 WM_CLOSE 是关闭窗口的 WM_QUIT 是关闭消息环的以下是程序结束的过程:1、使用者按[File/Close],系统发出WM_CLOSE消息2、Frame把这条消息直接发给预处理程序3、预处理程序发出WM_DESTROY消息4、预处理程序收到WM转载 2014-07-28 00:15:59 · 587 阅读 · 0 评论 -
解决error C2011: 'fd_set' : 'struct' type redefinition的方法
首先说明这个问题由于重复定义引起的编译错误。先说明解决方法,然后再说是什么原因导致了这个问题。 解决方法:下列任何一种方法都可以。1. 在所有包含windows.h的代码之前加上#define WIN32_LEAN_AND_MEAN2. 或者直接在工程的properties( vc6 以上)/Setting(vc6) -> c/c++ -> preprocesso转载 2014-07-28 14:04:46 · 4070 阅读 · 1 评论 -
必须掌握的命令行
一,ping 它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作转载 2014-08-01 01:33:20 · 532 阅读 · 0 评论 -
vc判断操作系统类型
////////////////////////////////////////////////////////////////////////////// 函数功能:获得操作系统的版本信息//////////////////////////////////////////////////////////////////////////////DWORD NET_GetOsVersi原创 2014-08-01 17:59:56 · 1378 阅读 · 0 评论 -
cmd.exe的参数
Cmd.exe有很多命令行参数,具体情况如下:CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] string]/C 执行字符串指定的命令然后中断;/K 执行字符串指定的命令但保留;/S 在 /C 或 /K 后修改字符串处理;/Q 关闭回应;转载 2014-08-01 01:27:21 · 1540 阅读 · 0 评论