首页 > 其他分享 >bvp47 bpf记录

bvp47 bpf记录

时间:2022-11-24 18:14:28浏览次数:35  
标签:0xe6cf random 记录 bpf tax packet len bvp47 0x9d6a

目录

bpf汇编指令

ld #len
sub #6
tax
ldh [x+0]
or #0xe6cf
st M[4]
ldh [x+0]
and #0xe6cf
neg
sub #1
tax
ld M[4]
and x
tax
st M[4]
ld #len
sub x
tax
ldh [x+0]
st M[6]
ldx M[4]
ldb [23]
jeq #0x6,L23,L28
L23: ldb [46]
rsh #2
sub #20
add x
tax
L28: ldh [x+14]
st M[8]
ld #len
sub #2
tax
ldh [x+0]
or #0x9d6a
st M[4]
ldh [x+0]
and #0x9d6a
neg
sub #1
tax
ld M[4]
and x
tax
ld M[8]
jeq x,L48,L46
L46: ld M[6]
jeq x.L48,L49
L48: ret #0xffff
L49: ret #0

注释

t=len
t-=6
x=t                                  ;len-6
t=packet[len-6]
t|=0xe6cf
M[4]=t                               ;packet[len-6]|0xe6cf
t=packet[len-6]
t&=0xe6cf                            ;packet[len-6]&0xe6cf
neg                                  ;t=0-t 取补码==按位取反加1
t-=1                                 ;-1得按位取反
x=t
t=M[4]                               ;packet[len-6]|0xe6cf
t&=x                                 ;t=(packet[len-6]|0xe6cf) & ~(packet[len-6]&0xe6cf)
x=t
M[4]=x                               ;M[4]=packet[len-6]^0xe6cf   ==>datalen
t=len
t=t-x
x=t                                  ;x=len-packet[len-6]^0xe6cf  ==>data_offset
t=packet[x]                          ;random_0
M[6]=t                               ;M[6]=random_0
x=M[4]
t=packet[23]                         ;protocol :6 tcp
if t==6 j L23, else j L28
L23: t=packet[46]                    ;Eth_14 ip_20_ tcp+12 byte tcp header len
	t>>2                             ;tcp header len
	t-=20                            ;0
	t+=x
	x=t                              ;x=datalen
L28: t=packet[x+14]                  ;[14+datalen]==> data[datalen-header_sz]
M[8]=t                               ;random_data
t=len
t-=2
x=t
t=packet[x]                          ;packet[len-2]
t|=0x9d6a
M[4]=t                               ;M[4]=packet[len-2]|0x9d6a
t=packet[x]
t&=0x9d6a                            ;packet[len-2]&0x9d6a
neg
t-=1
x=t
t=M[4]
t&=x
x=t                                   ;x=(packet[len-2]|0x9d6a)& ~(packet[len-2]&0x9d6a)==>random_xor
t=M[8]                                ;M[8]==>random_data
if t==x,j L48 else L46
L46: t=M[6]                           ;M[6]==>random_0
	if t==x,jL48 else L49
L48: ret -1
L49: ret 0

note

image

  • random_0
    对应紫色部分的值
  • random_data
    packet[14+datalen]
    为数据中取到的值 data[datalen-header_sz] (header_sz==>iph+(tcph/udph))
  • random_xor
    对应深蓝 randowm xor 0x9d6a的值

标签:0xe6cf,random,记录,bpf,tax,packet,len,bvp47,0x9d6a
From: https://www.cnblogs.com/DirWang/p/16881552.html

相关文章

  • K8S学习记录
    kubelet在启动之后会一直闪烁运行;systemctlstatuskubelet之后,会发现有时候runnning有时候退出,属于一直闪烁。(尚硅谷P34视频最后)systemctl命令 ctl表示controller。......
  • Linux CentOS7.X-命令记录
    1、链接命令ln硬链接:相当于复制。ln源文件(路径 )   目标文件(路径)硬链接文件,只要修改了其中一个文件,另外一个文件也会同步修改,但是删除操作不......
  • 记录一次uniapp 开发环境访问本机接口 报跨域的问题
    api接口使用的springboot。已确认设置允许所有跨域请求(*)接口在本机启动(接口地址:http://localhost:9999)uniapp在本机启动(本地web:http://localhost:8080)报错信息:Acces......
  • Maven学习记录之maven基本操作命令,maven本地工厂的创建,maven骨架的生成,以及在eclipse
    摘要:今天又学习了一下maven,之前是下载并安装和配置好了maven的环境,今天主要学习的内容包括:maven本地工厂的创建,maven骨架的生成命令,maven在dos下创建maven工程,以及在eclipse......
  • 基于echarts的带流动光效的折线图-lowline-for-echarts使用记录
    起源在技术群看到有人问这个react插件,带着好奇心看了一下。标题:基于echarts的带流动光效的折线图-掘金网址:https://juejin.cn/post/7090566240233586719了解到这是......
  • 减少C盘空间计划记录
    前言**按照我这个操作了之后你的c盘不但减轻了负担,也不怕以后重装系统某些东西丢失了操作1.更改我的文档,我的视频,我的图片桌面的位置为d盘2.更改gradle默认路径设置环境......
  • window启动项记录
    很多年没玩启动项啥的了,昨天遇到一个流氓东西自动执行,无线重启,我特么竟然没找到​​msconfig​​​在这里面没找到然后在注册表里面也没找到​​​计算机\HKEY_CURRENT_US......
  • kali 子域名搜集工具学习记录
    #fierce 主要是对子域名进行扫描和收集信息,并且它还可以测试区域传送漏洞。 kali2022.1apt-get安装的fierce并没有-dns参数,需要手动下载,下载后有个fierce.pl......
  • 「2022/11」学习记录
    「ARC090E」AvoidingCollision在一个有\(N\)个顶点和\(M\)条边的图上有两个人,分别在\(S\)号节点和\(T\)号节点。他们要各自走到对面(即在\(S\)的人走到\(T\),......
  • 工作记录-截取字符串数字部分
    最近在做一个需求的时候,需要用js去截取一个字符串的数字部分,现在有个字符串格式为'数字+单位' 比如是'10px'、'10%',在单位不知道的情况下,截取数字。如果已知单位,用sp......