自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 PE学习(六)第六章 栈与重定位表 实例栈溢出、模拟加载器加载DLL、遍历重定位表

第六章 栈与重定位表16bit OS 存在长调用 lcall push cs,ip    相应的iret pop ip, cs  而call/ret only focus ip register32bit OS 因为32寄存器可以访问4G空间,可以长短调用被忽略,只关注eip实模式:段地址+程序偏移地址  SS::SP= SS保护模式:段选择子+程序偏移地址 原来的段寄存器称为段选

2015-03-24 21:21:55 657

原创 PE学习(五)导出表,编写DLL及查看DLL的导出信息

第五章 导出表typedef struct _IMAGE_NT_HEADERS { +00h DWORD Signature +04h IMAGE_FILE_HEADER FileHeader +18h IMAGE_OPTIONAL_HEADER32 OptionalHeader } IMAGE_NT_HEADERS ENDS, *PIMAGE_NT_HEADERS32;

2015-03-24 15:23:21 4133

转载 win32 masm32 汇编学习 及 远程线程实例

"门“ 指向某个优先级高的程序所规定的入口点,所有优先级低的程序调用优先级高的程序只能通过门重定向门:中断门,自陷门,任务门。masm32.zipcopy D:\Program Files\Microsoft Visual Studio\VC98\Bin\nmake.exe to  ***\masm32\bin相应cmd设置临时环境变量@echo offse

2015-03-23 23:31:39 1003

原创 PE学习(四)第四章:导入表

第四章:导入表windos加载器会一并加载导入表中的dll,并修改相应指令调用的函数地址。IMAGE_NT_HEADERS STRUCT{ Signature DWORD ? FileHeader IMAGE_FILE_HEADER  OptionalHeader IMAGE_OPTIONAL_HEADER32 }IMAGE_NT_HEADERS ENDSIMAGE_O

2015-03-19 21:44:12 750 1

原创 PE学习(三)第三章:PE文件头

第三章:PE文件头PE中涉及的地址有四类,它们分别为:虚拟内存地址(VA)相对虚拟内存地址(RVA)文件偏移地址(FOA)特殊地址 没有物理内存对应的页面被标记为dirty的页面,一般存储在一个名为“交换文件”的磁盘文件中。在WINDOWS XP系统中,交换文件为pagefile.sys 进程本身的VA被解释为:进程的基地址+相对虚拟内存地址 RVA是相对基地址的偏

2015-03-18 16:31:02 1209

转载 PE学习(二) IMAGE_DOS_HEADER

Windows系统下的可执行文件,是基于Microsoft设计的一种新的文件结构,此结构被称之为PE结构。PE的意思是Portable Executable(可移植的执行体),所有Win32执行体都是用PE文件格式,其中包括SYS、DLL、EXE、COM、OCX等。不管是学习逆向、破解还是安全,了解PE文件格式都是非常必要的。PE文件的第一个部分是IMAGE_DOS_HEADER,大小为6

2015-03-17 20:13:13 2851

原创 PE学习(一)masm32开发环境和ollyICE使用

第一章:windows PE 开发环境MASM32 ml.exe汇编编译器 rc.exe资源编译器 link.exe安装masm32到d:\masm32增加环境变量用户变量include=d:\masm32\include;lib=d:\masm32\lib;path=d:\masm32\bin;修改文件字节码:HEX数据  edit -> copy to excu

2015-03-17 19:21:17 993

转载 破解入门(六)-----实战“内存镜像法”脱壳

引用:http://blog.csdn.net/qiurisuixiang/article/details/7660448内存镜像法的步骤(1)用OD打开软件(2)点击选项——调试选项——异常,把里面的忽略全部√上。CTRL+F2重载下程序(3)按ALT+M,打开内存镜象,找到程序的第一个.rsrc.按F2下断点,然后按SHIFT+F9运 行到断点,接着再按ALT+M,打开内存

2015-03-12 16:33:30 545

转载 破解入门(三)-----脱壳的常用方法

引用:http://blog.csdn.net/qiurisuixiang/article/details/7648695 目录(?)[-]什么是壳壳的作用写好一个程序后不想让别人随便更改其中的版权信息我们可以加壳对其进行保护防止被修改可以利用压缩壳减少程序容量方便程序传播帮助木马病毒进行免杀我们可以直接加壳免杀也可以脱壳对其代码进行修改从而躲过杀毒软件的查杀脱壳的基础

2015-03-12 14:18:58 556

原创 堆的使用

堆是用来管理链表和村的最佳方式,堆始终是从页交换文件中分配。 优点:不必理会分配粒度和页面边界;缺点:分配和释放内存块的速度比其他方式慢。进程有自己的默认堆1M,/HEAP改变,系统保证默认堆是线程安全的,许多windows函数用到默认堆。额外堆:1.对组件进行保护 //使问题局部化,一个堆中问题不影响另一个堆2.更有效的内存管理3.局部访问 //把相应的数据放一个堆,一次换入

2015-03-12 14:02:45 363

原创 内存映射文件

内存映射文件 (windows许多方法用此来在进程间传送数据)1.CreateFile2.CreateFileMapping //对含有SEC_LARGE_PAGES标志时用户必须具有启用内存锁定页面用户权限,否则会失败3.MapViewOfFile4. //FlushViewOfFile //确保所做的修改已经被写入到磁盘中,如果最初是FILE_MAP_COPY,将修改页交换文件

2015-03-12 12:59:20 416

原创 内存体系 用共享段于进程间联系

内存体系结构虚拟地址分区:空指针赋值分区,用户模式分区,64KB禁入分区,内核模式分区在默认情况下运行一个64位的应用程序,系统会保留用户模式地址空间中位于地址0x00000000'80000000(2G)之后的所有部分;这确认所有的内存分配在低2G上,这就是所谓的地址空间沙箱,可以用Yes (/LARGEADDRESSAWARE) link开关打开。dll工程会忽略此开关。当系统

2015-03-11 19:42:17 530

转载 线程池之I/O项 (存在疑问???)

//EnsureCleanup.h//EnsureCleanup.h/******************************************************************************Module: EnsureCleanup.hNotices: Copyright (c) 2007 Jeffrey Richter & Christophe Na

2015-03-09 10:34:10 692 1

原创 线程池之工作项,等待项,计时项 (存在疑问???)

线程池函数允许我们做:1.以异步方式调用函数  //工作项2.每隔一段时间调用一个函数 //计时项3.在内核对象触发时调用一个函数 //等待项4.在异步I/O请求完成时调用一个函数 //I/O项2.每隔一段时间调用一个函数如果两个:周期的每隔5-7秒执行一段代码,周期的每隔6-8秒执行一段代码。不用线程池将有两个线程执行,上下文切换不好,如用线程池,系统可能选择6秒间隔

2015-03-09 10:25:24 624 1

转载 I/O完成端口

I/O完成端口存在5个数据结构1.设备列表 存放:设备句柄和I/O key2.I/O完成队列 存放:I/O完成记录 先进先出3.等待线程队列 存放:等待处理I/O完成记录 后进先出4.已释放线程列表 存放:正在处理I/O完成记录的线程5.已暂停线程列表 存放:挂起的线程系统将异步I/O请求函数中请求完成后放入2中,检查4中正在运行的线程数是否低于并行数,是则唤醒3中线程。

2015-03-06 11:41:52 616

原创 异步I/O 设备内核对象,事件内核对象,可提醒I/O 接收I/O通知

CreateFileSetFilePointerExSetEndOfFileFlushFileBuffers 类似FILE_FLAG_WRITE_THROUGH功能在异步I/O请求完成之前,一定不能移动或是销毁在发出I/O请求时所使用的数据缓存和OVERLAPPED结构。BOOL WINAPI CancelIo(  __in  HANDLE hFile);取消同给定

2015-03-06 09:13:28 524

原创 事件,信号量,互斥量

信号量:CreateSemaphoreExWaitForSingleObject(g_semaphore,INFINITE);doing...ReleaseSemaphore(g_semaphore,1,NULL);mutexcontaining a thread ID, it will cach the caller thread id.WaitForInputIdl

2015-03-05 09:54:37 406

原创 内核对象用于线程同步

事件内核对象等待成功所引起的副作用,当事件对象被触发的时候,函数会检测到这一情况,这里它可以直接返回WAIT_OBJECT_0给调用线程,但是在函数返回之前,它会使事件变为非触发状态---这就是副作用,进程、线程没有这样的副作用。其他对象有不同的副作用。PluseEvent 相当于SetEvent + ResetEvent#include #include #include

2015-03-03 11:03:01 318

原创 用户模式下线程同步

原子访问、调整缓存行、高级线程同步、关键段、Slim读/写锁、条件变量AcquireSRWLockExclusiveAcquireSRWLockSharedSleepConditionVariableSRW /******************************************************************************Module

2015-03-03 10:02:09 424

转载 进程权限

如果用户使用管理员这样的一个被授予高特权的账户登录,那么除了与这个账户对应的安全令牌之外,还会创建一个经过筛选的住处,后者将只被授予标准用户的权限,这个筛选的令牌最后会与系统代表最终用户启动的所有进程关联。taskmgr任务管理器点show process from all users,PID将变化,因为window只允许在进程边界上进行权限提升,一时进程启动,再要求更多的权限就已经迟了。

2015-03-02 14:29:29 436

转载 ANSI,ASCII,UNICODE

转载:http://blog.csdn.net/zj510/article/details/38368397一直以来,编码问题都是比较令人纠结的,我自己也是,迷惑了好一段时间。首先看一下ANSI编码和ASCII 编码,用google搜到这篇文章,挺好的。http://www.differencebetween.net/technology/web-applications/differen

2015-03-02 10:26:47 417

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除