grsgrs 发表于 2009-12-19 18:50:50

去除OmniPeek v5.1发包不能伪造源MAC限制

好久没来netexpert了,也回馈点东西,去除OmniPeek v5.1发包不能伪造源MAC限制。

修改方法和5.0差不多,用WinHEX将 003089E3 处的75 03改成75 10即可。


以前曾发过 去除Omnipeek 5.0不能伪造源MAC的限制,不过自从看了5.1新增的Dashboard页,就彻底抛弃5.0了。最近用到发包功能时,突然意识到还不能伪造源MAC,于是用OD搜出目标函数给改了一下。OmniPeek v6.0都出了,那么Patch一下v5.1应该不算重罪...

实际上5.1只是加了点反调试而已,发包时填充源MAC的函数完全没动过:
007089E0  /$  8038 00       CMP BYTE PTR DS:,0
007089E3  |.  75 03         JNZ SHORT OPeek.007089E8        ; 如果为0,发送前填充本机MAC
007089E5  |.  32C0          XOR AL,AL
007089E7  |.  C3            RETN
007089E8  |>  8B50 68       MOV EDX,DWORD PTR DS:
007089EB  |.  8911          MOV DWORD PTR DS:,EDX      ; DS:=MAC地址前4字节(主机序)
007089ED  |.  66:8B40 6C    MOV AX,WORD PTR DS:
007089F1  |.  66:8941 04    MOV WORD PTR DS:,AX
007089F5  |.  B0 01         MOV AL,1
007089F7  \.  C3            RETN

; 改掉这个跳转的长度
007089E3  |.  75 03         JNZ SHORT OPeek.007089E8
; 改成 75 10
007089E3  |   75 10         JNZ SHORT OPeek.007089F5
007089F5  |>  B0 01         MOV AL,1

函数开始位置007089E0对应文件偏移003089E0,改完后的样子:
Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
003089E0   80 38 00 75 10 32 C0 C3  8B 50 68 89 11 66 8B 40
003089F0   6C 66 89 41 04 B0 01 C3

sbyguli 发表于 2009-12-22 13:13:01

厉害啊,支持一下,谢谢分享!

xscq 发表于 2010-1-13 15:04:06

OmniPeek v6.07的怎么改啊?

temptemp 发表于 2010-1-18 20:42:41

我使用的是5.1.4,按照上面的操作,使用winhex和UltraEdit-32 打开opeek.exe在003089e3处没有找到75 03,是什么地方有错误?谢谢。

ply2009 发表于 2011-3-22 09:07:37

额,没看懂,请问如何发包:)

yhny 发表于 2011-9-27 10:35:29

这个功能用得不多,谢谢楼主!

icexplorer 发表于 2011-12-21 11:36:41

玩大的鸟啊,汇编

icexplorer 发表于 2011-12-21 11:37:17

求6的方法
页: [1]
查看完整版本: 去除OmniPeek v5.1发包不能伪造源MAC限制