摘要: 微软为了帮助程序员快速找到内存错误导致的BUG,在堆管理器中提供了一些调试选项用于辅助堆调试,下面是一些常见的调试选项,可以通过Windbg 提供的gflags.exe 来设置。 比如要针对app.exe程序添加堆尾检查功能和页堆,去除堆标志,可以执行以下命令: gflags.exe -i app. 阅读全文
posted @ 2018-03-07 10:26 _小北 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 1:应用场景 在针对浏览器的攻击中,常常会结合使用堆和栈协同利用漏洞。 (1)当浏览器或其使用的ActiveX 控件中存在溢出漏洞时,攻击者就可以生成一个特殊的HTML 文件来触发这个漏洞。 (2)不管是堆溢出还是栈溢出,漏洞触发后最终能够获得EIP。 (3)有时我们可能很难在浏览器中复杂的内存环境 阅读全文
posted @ 2017-11-16 16:05 _小北 阅读(596) 评论(0) 推荐(0) 编辑
摘要: Adobe Reader的CoolType.dll库在解析字体文件SING表格中的uniqueName项时存在栈溢出漏洞,用户打开了特制的PDF文件可能导致执行任意代码。 XPSP3 + OD + IDA+Adobe9.2.4 官方文档对TableEntry结构的定义 typedef sturct_ 阅读全文
posted @ 2017-11-16 15:36 _小北 阅读(427) 评论(0) 推荐(0) 编辑
摘要: Windows 安装 Cuckoo 安装python2。(Cuckoo 对Python3有些库不支持)。 官网下载地址,下载Windows 对应的版本。 对应http://www.cuckoosandbox.org/ Cmd 到达解压目录,运行 Python setup.py install 等待安 阅读全文
posted @ 2017-07-23 10:56 _小北 阅读(1208) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2017-07-16 13:20 _小北 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 1:算法原理 (1)RC4首先使用的是密码调度算法,所谓的密码调度算法,是为了得到密钥流而设计的,代码如下,经过密码调度算法之后,可以得到一个256位的密钥流。 (2):在得到密钥流之后,在进行子密码的获得。 (3)得到了子密钥之后与原文进行异或运算得到密文。 阅读全文
posted @ 2017-07-15 20:10 _小北 阅读(874) 评论(0) 推荐(0) 编辑
摘要: Call指令主要实现对一个函数的调用。Jmp指令主要实现地址的调转。 Call指令和Jmp指令的区别 1:Call指令和Jmp指令的机器码不同。 2:Call指令会对当前指令的下一条指令的地址进行压栈操作,来实现函数的返回。 相当于 Push eip+5 Jmp xxxxxxxx Call指令的二进 阅读全文
posted @ 2017-04-14 17:34 _小北 阅读(9727) 评论(0) 推荐(1) 编辑
摘要: 开机启动项 【启动项目就是开机的时候系统会在前台或者后台运行的程序】 当Windows(操作系统)完成登录过程,进程表中出现了很多的进程!Windows在启动的时候,自动加载了很多程序。 许多程序的自启动,给我们带来了很多方便,这是不争的事实,但不是每个自启动的程序对我们都有用;更甚者,也许有病毒或 阅读全文
posted @ 2017-04-12 10:08 _小北 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 命名 关于这个命名是我自己这样说的,至于这种HOOK技术,先前在一个开源项目中叫做RemoteHook,我比较喜欢自己的这种命名,所以就叫Debug Hook。如果有错误,请指出。 先来说说调试的原理 在Windows操作系统,有两种方法可以来调试一个进程。 1: CreateProcess() 可 阅读全文
posted @ 2017-04-11 21:51 _小北 阅读(1261) 评论(0) 推荐(0) 编辑
摘要: IAT Hook 工作原理 IAT Hook是通过修改IAT中保存的API地址来钩取某个API函数。 在进程中调用某个API函数,是在目标进程中的导入表中查找函数地址来进行调用,不同于GetProcAddress函数。此函数是在模块的导出表中进行查找函数地址的。 所以我们可以注入动态库到目标进程,来 阅读全文
posted @ 2017-04-11 21:00 _小北 阅读(1614) 评论(0) 推荐(0) 编辑