hook

关于IPv4协议的一点看法地址空间,分段标识,LinuxNAT 2016-01-02




    		    关于IPv4协议的一点看法地址空间,分段标识,LinuxNAT
IPv4实际上是一个被设计的很勉强的协议,远远没有TCP等传输层协议设计的好.对于它的升级版,IPv6,实际上我也一样不看好,虽然它解决了很多问题,扩展了地址空间,增加了协议堆栈化的支持... 1.地址空间和路由模块 对于IPv4而言,其起初的地址空间是分类的,此时的路由表因此也是分类的,最显然的高效率实现方式就是每一类别一张表,路由器需要在查表逻辑之前有一个分类器来将IP数据 ...

用hook实现dll注入详解 2015-11-03

需要一个用来注入的dll(inject.dll)及一个调用程序(caller.exe) 流程: caller.exe procedure TestHook; var pwnd,hChild, hwndInject hwnd; msgtmsg; begin 通过窗口标题用FindWindow找到要注入的程序的主窗口句柄pwnd pwnd = findwindow('Progman',nil); 用FindwindowEx(hMain,0,nil,nil)找到要处理的子窗口句柄hChild hChi

EAT Hook 2015-11-01




    		    EAT Hook
EAT Hook typedef int (__stdcall *pfnMessageBoxA)(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType ); pfnMessageBoxA OldMessageBoxA = NULL; LPVOID HookEAT(HMODULE hMod,char *szApiName,L ...

高级Linux Kernel Inline Hook技术分析与实现 2015-11-01

高级Linux Kernel Inline Hook技术分析与实现 字号:T|T--> 目前流行和成熟的kernel inline hook技术就是修改内核函数的opcode,通过写入jmp或push ret等指令跳转到新的内核函数中,从而达到修改或过滤的功能.本文将使用一种高级inline hook技术来探讨相关技术. 一.简述 目前流行和成熟的kernel inline hook技术就是修改内核函数的opcode,通过写入jmp或push ret等指令跳转到新的内核函数中,从而达到修改或过滤

Drupal的钩子(Hooks) 2015-10-31

Drupal怎么就知道什么时候调用一个模块来处理特定的请求? 这个是通过Drupal的hook机制完成的,下面解释一下hook的工作机制. 当Drupal处理来自用户的一个请求,它通过一系列步骤进行.比如:Drupal核心首先引导这个应用,确定关键变量和经常使用的功能.接下来,它加载关键库.主题和模块.接下来,它继续处理请求,将请求的URI映射到正确的处理代码,等等.然后它为数据应用一个主题,为输出来格式化信息.最后它返回输出结果到用户的浏览器. 在循序渐进的预定义时刻,Drupal进行勾取.这

HooK GetModuleHandleA 脱壳辅助工具 2015-10-31

我们都知道标准delphi程序一开始肯定会调用到GetModuleHandleA这个涵数,很多壳都把OEP处理了,也就是运行过后清楚什么的,代码偷取什么的,我们只要Hook这个函数,然后让程序暂停下来,那么是不是壳就还没有完成代码的清楚什么的,我们dump出来的代码就是完整的或者是可分析的.当然这个工具很容易就可以改来Hook其他函数.我给出代码,大家自己研究好了. unit Unit1; interface uses Windows, Messages, SysUtils, Variants,

Anehta More on Hook Submit:阻塞Method的技巧 2015-10-30

作者:刺 上一篇提到了如何做hook,也讲到了hook表单提交的几种不同方式. 今天要讲的是实现的一点细节. 我们知道,javascript中大部分的method都是非阻塞的,这样的好处是可以提高效率,坏处是很多时候我们确实是需要阻塞的功能. 极少数method是阻塞的,比如 alert()这个函数,在alert()执行完成并返回前,alert()之后的javascript代码都不会执行. 再比如html页面里的 <link >标签应该也是一个阻塞的标签,在该stylesheet加载完成前,后

Linux 2.6 下通过 ptrace 和 plt 实现用户态 API Hook 2015-10-30




    		    Linux 2.6 下通过 ptrace 和 plt 实现用户态 API Hook
(转载兼整理)Linux 2.6 下通过 ptrace 和 plt 实现用户态 API Hook 这厮此文写的相当实用,不知道为啥不好好整理一下,得,我代劳了吧.作者:[email protected],原文.去看一眼就知道我干嘛干这个脏活儿了... 感觉这篇文章有上首页的素质,可惜不是我自己写的,那就算了吧. 本来我自己想用类似这篇文章说的方法,仔细琢磨了一下,似乎我的事儿还是 ...

simple injection with LD_PRELOAD 2015-10-30

Tonight I've played with code injection on Linux and want to share what I've learned so far. As rootguy suggested the LD_PRELOAD path, I decided to give it a try. A nice introduction to this kind of hook can be found in this old Linux Journal article

crackers DS Hooking Tutorial 2015-10-30

cracker's DS Hooking Tutorial This document is best viewed in Firefox Preface I am creating this tutorial for those who are wanting to learn how to hack into DS games but have no idea where to begin. I released tutorials a while ago but they relied o

ndiswrapper加载TLWN322Gplus之殇 2015-10-30

周末在家尝试使用ndiswrapper加载WN322G+的Windows驱动程序,并且修改NDIS以及ntoskernel来实现802.11数据帧的抓取,结果别提多么悲剧了.以下是问题集: 1.下载了WinXP/Vista的TL-WN322G+的驱动程序,使用ndiswrapper -i zd1211.inf加载了之后,ndiswrapper -l没有认出芯片: 2.使用ndiswrapper -a强行将lsusb显示的ID设置进去,显示出认出了芯片,然而modprobe ndiswrapper

ebtables之BROUTING和PREROUTING的redirect的区别 2015-10-30

ebtables和iptables实用工具都使用了Netfilter框架,这是它们一致的一方面,然而对于这两者还真有一些需要联动的地方.很多人不明白ebtales的broute表的redirect和nat表PREROUTING的redirect的区别,其实只要记住两点即可,那就是对于相同点,它们都将数据包导向了本地的IP层:对于不同点,broute表的redirect将数据包的接收设备设置成了实际接收数据的物理网卡,而nat表将数据包的接收设备设置成了桥设备,这个可以在Linux协议栈的源代码中

编写iptables模块实现不连续IP地址的DNATPOOL 2015-10-30

1.背景 <路由应用-使用路由实现负载流量均衡>的第3.3节,并没有给出如何配置一个pool,那是因为在Linux 2.6.10之上,已经不再支持配置不连续IP地址的pool了,如果看iptables的man手册,将会得到以下信息: In Kernels up to 2.6.10 you can add several --to-destination options. For those kernels, if you specify more than one destination ad

OpenVPN遇到的Secondary地址问题 2015-10-30

对于提供服务的程序,一般而言喜欢使用0.0.0.0这个地址,但是如果这个服务是UDP的,那么就有可能出现一些问题,比如如果某块网卡配置了多个IP地址,那么问题就可能重现.最近使用OpenVPN的时候就遇到了这样的问题.OpenVPN建议使用UDP协议,然而正是由于使用了UDP协议才出现了问题.以下几个要点幫助解决这样的问题,记之备忘: 1.udp服务没有bind到特定地址,而是0.0.0.0 2.没有bind地址的udp服务的返回包在路由后添加源地址 3.对于没有bind到特定地址的udp服务器

subversion同步web服务器 2015-10-29




    		    subversion同步web服务器
需求: 1.一台svn服务器: 2.一台web服务器: 3.程序员只要更新svn服务器,就会把做好的页面同步到web服务器: 条件: svn_server: 10.10.3.3 web_server:10.10.3.2 客户端:TortoiseSVN 等.. OS: Centos5.3 subversion: 1.6.0 sqlite-amalgamation 还用上了nfs ...

linux内核netfilter的实现以及ipset 2015-10-29

netfilter的实现机制基于四个层次的匹配,数据包在每个层次都要经过一个过滤链表,第一个层次就是hook,众所周知linux内核中一共拥有5个hooks,当然你也可以自己修改内核在任何地方添加hook:第二个层次就是每个hook下面的tables,每一个hook都过挂载零个或者若干个tables,数据包要一个一个经过这些tables:第三个层次就是rule,每个table下面拥有零个或者若干个rule,数据包要依次经过这些rules,只要有一个rule对数据包进行了裁决,那么将不再经过该ho

Netfilter的rpfilter技术Linux的uRPF 2015-10-28

作为IP路由的一种补充,uRPF(单播反向路径转发)可谓非常有用,它认证了IP数据报的源地址,在一定程度了保护了网络的安全,比如有效防止了洪泛攻击.然而直到Linux内核的2.6的高版本版本,Linux只能实现严格的uRPF,这是由fib_validate_source函数来完成的,具体配置在/proc/sys/net/ipv4/conf/$dev/rp_filter,对于Cisco上很简单的松散的uRPF,Linux却无能为力,kernel 2.6的高版本可以为/proc/sys/net/ip

Netfilter与FreeBSD的网络包过滤 2015-10-28




    		    Netfilter与FreeBSD的网络包过滤
在Linux中,使用Netflter来进行包过滤,所有的逻辑都要挂接在Netfilter的某个或者某些HOOK点上,并且实现成该HOOK点上的一个或者多个hook函数,这在Netfilter框架中是用nf_hook_ops结构体来表示的,整个Netfilter的框架如下图所示: 上图中有一部分被称为"过滤"模块,这在Netfilter中是通过filter表来 ...

Shadow Hook实现网络安全打印监控 2015-10-27




    		    Shadow Hook实现网络安全打印监控
如何实现对打印的监控,微软提出的一种解决方案就是时刻检测放到打印队列中的打印任务,发现有任务出现,就从中筛选出来提供给调用者.对此功能的实现,微软的确公开了一套完整的代码,并且能够实现我们基本想要的功能,但是在实现功能之余,我又进行了更深一层的研究和测试,通过Hook win32k.sys内的打印相关的4个函数就完美地实现了网络安全方面的打印监控功能.我们先分析一下当系统完成一 ...
一周排行