单步运行并分析上文所下断点的函数,我们可以发现,在ReadFile读取处,程序读取了源文件,程序中共有7个WriteFile,在数据窗口中跟随ReadFile的第二个参数即读入源文件数据的部分,继续单步执行,发现第1个WriteFile不会被执行,在执行到第2个WriteFile处时,程序写入随机字节: 0x200000,而数据窗口中跟随的数据段已经发生改变,在010editor中打开加密后的文件:示例视频mp4pbb,发现其数据与在OD中数据窗口中的数据一致,所以可以确定这段数据就是加密后的数据,而在ReadFile与WriteFile之间只有一个函数:call PycFileO00E45190(将函数PycFileO00E45190重命名为核心加密函数,下文用到的部分也以核心加密函数指代),所以可以确定这个函数即使我们所要找的加密函数。先不管加密函数的具体内容,继续执行其所处函数,当我们执行到第3个WriteFile处时,程序写入了随机n个字节(n=0~16),在第4个WriteFile处,发现程序把上文中数据窗口中跟随的密文写入了文件,在第5个WriteFile处,程序将其上面一个随机产生的0x20大小的内容进行了写入,第6个WriteFile处,程序将了0x2A8内容进行了简单填充,第7个WriteFile处,写入了固定大小 0x10C的内容,经分析与密钥有关。
经过分析,发现加密只与核心加密函数有关,所以我们的重点放到核心加密函数上来,其它的部分在这里不做讨论。为了节省时间,我用了IDA的F5功能查看整个核心加密函数的具体结构,这个好像不是个文件格式,他是
运营商骨干桥接技术(Provider Backbone Bridge)
由IEEE 8021ah标准草案定义,全称为运营商骨干桥接技术。PBB是采用MiM封装,PBB基于运营商MAC地址,而不是基于用户MAC地址转发流量。
PBB技术主要定义了双层MAC地址的帧结构,在转发行为上并没有改变,仍然是采用了传统的MAC交换,这体现在PBB技术它的名字仍然是桥接(Bridge)上。不过交换的MAC地址是运营商定义的MAC地址,而不是用户的MAC地址,因而这个MAC交换从某种角度上,也可以看成是MAC标签交换。最新PPB标准草案目前采用如下的两种可选的帧结构:
一是原始PBB封装,其业务标签是“I-SID”;另一种是Dry Martini封装,其业务标签由“MPLS SL”表示。
两者主要差别是,外层MAC头上,一种是采用了由IEEE定义的24位的I-SID标签;另一种采用了由IETF定义的32位的MPLS Shim标签,这种方式去除了PWE3的MPLS隧道标签,也通常称为Dry Martini方式。这两个标签的作用是类似的,都是用于区分业务。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)