PE结构详解(64位和32位的差别) 1 基本概念下表描述了贯穿于本文中的一些概念:名称描述地址是“虚拟地址”而不是“物理地址”。为什么不是“物理地址”呢?因为数据在内存的位置经常在变,这样可以节省内存开支、避开错误的内存位置等的优势。同时用户并不需要知道具体的“真实地址”,因为系统自己会为程序准备好内存空间的(只要内存足够大)镜像文件包含以EXE文件为代表的“可执行文件”、以D
关于stack around the variable “” was corrupted问题 http://www.cnblogs.com/flysnail/archive/2011/09/21/2184114.html
Unicode编码与多字节编码的转换 /**********************************************函数作用:把Unicode字符串转换为Ascii字符串参数说明:*********lpcwszStr:要转换的Unicode字符串*********lpcwszStr:接收转换结果的Ascii字符串*********dwSize:用来接收转换结果的缓冲区大小******************
vc6.0转vs2013出现错误ON_WM_TIMER() 编译时候出现如下错error C2440: 'static_cast' : cannot convert from 'void (__thiscall XXX::* )(void)' to 'void (__thiscall CWnd::* )(UINT_PTR)'只需要吧对应的
链接器工具错误 "LNK2026 XXX模块对于 SAFESEH 映像是不安全的" LINK : fatal error LNK1104: 无法打开文件“LIBCD.lib” 今天使用VS2012遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于SAFESEH 映像是不安全的"解决方法:1.打开该项目的“属性页”对话框。2.单击“链接器”文件夹。3.单击“命令行”属性页。4.将 /SAFESEH:NO 键入“附加选项”框中,然后点击应用。LINK : fata
打造windows下的shellcode 为了帮助初学者了解ShellCode的编写,并能一步一步操作得到自己的ShellCode,因此将Windows下ShellCode的编写过程作详细的介绍,以利于像我一样的菜鸟,最终能够写出简单的但却是真实的ShellCode;而进一步高级的ShellCode的编写,也会在系列后面的文章中一步一步的演示的,希望大家会发现,Exp真好,ShellCode最美妙! ShellCode简介和编写
PE格式文件的代码注入 PE格式文件的代码注入 本文演示了在不需要重新编译源代码的情况下,怎样向Windows PE(Portable Executable)格式的文件(包括EXE、DLL、OCX)中注入自己的代码。 程序如图: 前言 或许,你想了解一个病毒程序是怎样把自身注入到一个正常的PE文件中的,又或者是,你为了保护某种数据而加密自己的PE文件
PE文件导入表的代码注入 PE文件导入表的代码注入 试想一下,如果通过修改导入表,能把PE格式文件中的函数入口点,重定向到自己的程序中来,是不是很酷!这样,在自己在程序中,可以过滤掉对某些函数的调用,或者,设置自己的处理程序,Professional Portable Executable (PE) Protector也就是这样做的。另外,某些rootkit也使用了此方法把恶意代码嵌入到正常
Detours简介 (拦截x86机器上的任意的win32 API函数) Detours当然是用detours,微软明显高腾讯一筹,同上,至今没失败过.写这种HOOK一定要再写个测试程序,不要直接HOOK你的目的程序,例如QQ,因为这样不方面更灵活的测试.说明一下:Detours是微软开发的一个函数库(源代码可在http://research.microsoft.com/sn/detours 免费获得)用于修改运行中的程序在内存中的影像,从而即使没有源代码也能改
DLL劫持技术详解(lpk.dll) 说起DLL劫持技术,相信大家都不会陌生,因为这种技术的应用比较广泛,比如木马后门的启动、破解程序的内存补丁、外挂插件的注入以及加密狗的模拟等。之所以DLL劫持技术深受黑客们的喜爱,主要是因为该技术可以有效的躲过大部分杀软,并且实现起来技术难度不大。DLL劫持技术也不是什么新技术,记得在《Windows核心编程》中也有提及相关技术。可是对我们广大初学者来说,DLL劫持技术就显得很神秘了,本系列教程将
Windows安全描述符SECURITY_DESCRIPTOR 安全对象Securable Object是拥有SD的Windows的对象。所有的被命名的Windows的对象都是安全对象。一些没有命名的对象是安全对象,如:进程和线程,也有安全描述符SD。安全对象Securable Object是拥有SD的Windows的对象。在 Windows系统中,其是用一个安全描述符(Security Descriptors)的结构来保存其权限的设置信息,简称为SD
汇编分析参数传递中的地址传递与值传递的区别(指针,引用,值传递) 1.指针.text:00401020 mySwap proc near ; CODE XREF: j_mySwapj.text:00401020.text:00401020 var_44 = byte ptr -44h.text:00401020 var_4 = dword ptr -4.text:0
通过修改程序入口点实现dll注入 前两节中介绍了通过远线程进行注入的方法。现在换一种方法——修改进程入口点。(转载请指明出处) 在PE文件中,其中有个字段标识程序入口点位置。我们通过这个字段,到达程序入口点。PE文件的结构我这儿不讨论(我会在之后写关于PE文件的介绍和研究),我只列出一些和程序入口点有关的数据结构[cpp] view plaincopytypedef struct _I