VC6.0进行软件断点调试 发表于 2017-06-24 | 分类于 re 开始之前VC6.0进行断点调试的时候,系统经常会提示应用程序错误,然后调试过程直接结束。所以我们急需解决vc6.0软件断点调试的解决办法。VC中的Just-in-time调试,使用该调试模式应用程序可以在Visual C++开发环境之外运行知道发生一个错误.当遇到一个程序错误时,Just-in-ti ... 阅读全文 »
HeapCreate() 发表于 2017-06-23 | 分类于 安全技术 HeapCreate这个函数创建一个只有调用进程才能访问的私有堆。进程从虚拟地址空间里保留出一个连续的块并且为这个块特定的初始部分分配物理空间。 HANDLE HeapCreate(DWORD flOptions , DWORD dwInitialSize , DWORD dwMaxmumSize) ... 阅读全文 »
开发shellcode 发表于 2017-06-22 | 分类于 安全技术 其实在《栈溢出原理与实践》那篇博客里,已经写了十分基础十分简单的shellcode。但是那种shellcode有一缺点:局限性! 1. shellcode概述1.1 shellcode和exploitshellcode:往往需要用汇编语言编写,并转换成二进制机器码,其内容和长度经常受到很多苛刻限制, ... 阅读全文 »
栈溢出原理与实践 发表于 2017-06-22 | 分类于 安全技术 声明:本章的所有实验都是在Windows 2000 Server上完成的。生成字符串并查找其偏移是在kali 2.0上,查找跳转函数的VA是在windows 10上用IDA。 1. 栈溢出原理1.1 修改邻接变量的原理用实例来反映原理 #include <stdio.h> #inclu ... 阅读全文 »
栈的介绍 发表于 2017-06-22 | 分类于 安全技术 1、内存的不同用途进程使用的内存按照功能分为以下4个部分:(1)代码区:这个区域存储着被装入执行的二进制机器代码,处理器会到这个区域取出指令并执行。(2)数据区:用于存储全局变量(3)堆区:进程可以在堆区动态地请求一定大小的内存,并在用完之后归还给堆区。动态分配和回收是堆区的特点。(4)栈区:用于动 ... 阅读全文 »