当前位置: 首页 > news >正文

网站建设费用构成百度新闻最新消息

网站建设费用构成,百度新闻最新消息,seo管理系统,沈阳制作网站建站Loadlibrary在干什么#xff1f; loadlibrar运行在linux上#xff0c;它可以调用windows上dll文件中的函数#xff0c;实现windows下的程序在linux上运行。目前我们介绍的这部分实现的是对windows Denfender反病毒组件中的mpengine.dll的移植#xff0c;使得我们可以在linu… Loadlibrary在干什么 loadlibrar运行在linux上它可以调用windows上dll文件中的函数实现windows下的程序在linux上运行。目前我们介绍的这部分实现的是对windows Denfender反病毒组件中的mpengine.dll的移植使得我们可以在linux上进行对文件进行检测以确定文件是否携带病毒。 loadlibrary有什么意义 简单来说它的意义就是在linux上更加容易进行fuzz测试耗费更少的资源、时间以及能够更加方便地进行fuzz测试。windows上的安全产品使用了非常复杂的组件这些组件往往会跨内核跨用户空间进行互联如果我们要对他们进行测试将要调用到整个虚拟化windows环境。举个例子我们可以使用afl-fuzz在linux上对该程序其进行测试并能够方便地得到相关数据但在windows下想要实现这一目的就会非常麻烦。 Windows Defender 从原理上来说我们现在的loadlibrary所做的事与windows Defender是相同的这是因为我们将要导入的组件就是Windows Defender恶意软件保护服务中的核心组件–mpengine.dll 准备 由于该dll文件是32位dll文件你的linux系统上需要安装一些依赖包来在64位机器上来解析它。非常重要 我们需要的32位的反恶意软件文件下载链接 mpengine 原作者说下载下来的名字叫mpam-fe.exe但是我在ubuntu上下载下来并不叫这个名字而是一个.com文件。不过这个无所谓我们只要利用cabextract命令提取就可以了。注意下载下来的文件要放在engine目录下再执行cabextract命令。 $ cabextract mpam-fe.ex\nExtracting cabinet: mpam-fe.ex\n extracting MPSigStub.ex\n extracting mpavdlta.vd\n extracting mpasdlta.vd\n extracting mpavbase.vd\n extracting mpasbase.vd\n extracting mpengine.dl\\nAll done,noerrors. 查看版本 在engine目录下输入如下指令可以查看当前dll文件的版本。 $ exiftool mpengine.dll | grepProduct Version NumberProduct VersionNumber:1.1.13701.0 运行 先在loadlibrary目录下输入make构建可执行程序。 $make 完成之后得到一个可执行程序mpclient。该程序就是工具的入口。我们构建一个文件用vi打开输入欧洲计算机防病毒协会开发的病毒代码保存为a.exe。将文件作为参数传给程序就可以进行验证。 X5O!P%AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$HH* 这段代码只是为了验证反病毒软件的功能本身没有任何危害。 # ./mpclient a.exemain(): Scanning a.exe..\nEngineScanCallback(): Scanning inpu\nEngineScanCallback(): Threat Virus:DOS/EICAR_Test_File identified. 除此之外类似的工具还有mpstreamfuzz和mpscript。 覆盖 在该项目中存在一个目录coverage。这个目录包含了一个基本的pintool工具以收集覆盖数据并且也包含了工具和脚本以便于去处理这些数据。这些工具可以支持语料库蒸馏与反语料库审查。 在最简单的操作模块中这个工具提供了从dll文件中价值的可执行基本块的列表。 但是经过一些简单的处理我们就可以生成带注解的IDB文件或生成一个已蒸馏的语料库来进行fuzz测试。 下载pintool并将其解压在coverage目录下 https://software.intel.com/en-us/articles/pintool-downloads $ tar -zxvf pin-3.2-81205-gcc-linux.tar.g\n$ make 如果你想进行语料库蒸馏那么执行如下命令。需要glib-2.0的支持 $ make coverage_parse_min 运行 执行如下命令将会显示执行信息。 $ ./coverage/pin -t coverage/deepcover.so-- ./mpclient a.exemain(): Scanning a.ex\nEngineScanCallback(): Scanning inpu\nEngineScanCallback(): Threat Virus:DOS/EICAR_Test_File identified.----- COVERAGE ANALYSIS -----58590 Unique Instructions Execute\n 10271 Unique Basic Blocks Execute\n 3193230 Total Instructions Execute\n 590362 Total Basic Blocks Execute\n Hottest Basic Block (0x00000000003918e7\n 11731 Execute\n 3 Instructions 这个报告默认名称为coverage.txt你可以重写它的名称通过设置环境变量COVERAGE_REPORT_FILE 如果你有很多的输入文件你可以把它们放在一个目录下利用xarg $ ls sample\nsample1.ex\nsample2.ex\nsample3.zi\n..\n$ find samples -type f | xargs -t -I{} -P8 -n1 env COVERAGE_REPORT_FILE{}.txt ./coverage/pin -t coverage/deepcover.so -- ./mpclient{} -P参数用来标识你能够并行处理的进程数量。把它设置成你的内核支持的数目。 语义库蒸馏 $ find samples -type f | xargs -t -I{} -P8 -n1 env COVERAGE_REPORT_FILE{}.txt ./coverage/pin -t coverage/deepcover.so -- ./mpclient{} 构建coverage_parse_min工具 $ make -C coverage coverage_parse_min 你可以用如下命令找到蒸馏过的语义库 $grep-H ^ samples/*.txt | awk -F:{print $2FS$1}| ./coverage_parse_min | cut -d: -f2 |sort-u 反语义库审查 经验告诉我们我们的fuzz测试的覆盖率是不够高的。这个工作能够帮助我们构建出已经覆盖的数据并标识出来我们没有覆盖到的部分。 如下的脚本可以简单地产生带注解的idb文件处理你上述产生的覆盖报告。 $ grep -H ^ *.txt | awk -F:{print $2FS$1}| ./coverage_parse_min | sed-es#:.*/#:#g-es/.txt$// minimal.tx\n$ bash genidc.sh minimal.txt coverage.idc 之后你可以在IDA中加载产生的coverage.idc文件通过File-Script File.... 注意事项 只有当你调用了InstrumentationCallback().这个pintool工具才会开始收集覆盖数据。 你可以通过把你不希望加载的块放置在blacklist.h上来把他们加入黑名单。 调试 如果这个程序出现了崩溃需要进行调试你可以按照如下步骤 首先需要安装好gdb的环境。 然后你需要用mpengine.dll生成一个.map文件。这个操作可以在Linux上进行也可以在window下进行。mpengine.dll在之前的步骤中已经生成的engine文件夹下。 linux执行如下命令 idaw-A-P-Screatemap.idcmpengine.mapmpengine.dll windows执行如下步骤 选择mpengine.dll一路yes点过去。 产生一个map文件。 将该文件放在你的linux上进行处理。在控制台输入如下命令使得文件可以在Linux上被识别 $ dos2unix mpengine.map 使用gdb进行调试 $ gdb -q ./mpclien\n(gdb) r a.exe 添加符号文件 (gdb) add-symbol-file engine/mpengine.dll0xf6af40080x1000add symbol tablefromfileengine/mpengine.dllat.text_addr0xf6af5008Reading symbolsfromengine/mpengine.dll...done\n(gdb) shell bash genmapsym.sh0xf6af40080x1000symbols_19009.o mpengine.ma\n(gdb) add-symbol-file symbols_19009.o0add symbol tablefromfilesymbols_19009.oat \n .text_addr 0x0Reading symbolsfromsymbols_19009.o...done\n(gdb) p as3_parsemetadata_swf_vars_\n$1 {void(void)}0xf6feb842as3_parsemetadata_swf_vars_t\n(gdb) c 如果你想要在gdb中使用硬件断点的话你可以使用hb或hbreak命令来代替原本的break命令 (gdb) b as3_parsemethodinfo_swf_vars_\nBreakpoint1at0xf6feb8da(gdb) \nContinuing\nmain():Scanning test/input.swf..\nEngineScanCallback():Scanning inpu\nBreakpoint1,0xf6feb8dainas3_parsemethodinfo_swf_vars_t(\n(gdb) bt#0 0xf6feb8da inas3_parsemethodinfo_swf_vars_t ()#1 0xf6dbad7f inSwfScanFunc ()#2 0xf6d73ec3 inUfsScannerWrapper__ScanFile_scanresult_t ()#3 0xf6d6c9e3 inUfsClientRequest__fscan_SCAN_REPLY ()#4 0xf6d6a818 inUfsNode__ScanLoopHelper_wchar_t ()#5 0xf6d6a626 inUfsNode__Analyze_UfsAnalyzeSetup ()#6 0xf6d71f7f inUfsClientRequest__AnalyzeLeaf_wchar_t ()#7 0xf6d71bb9 inUfsClientRequest__AnalyzePath_wchar_t ()#8 0xf6dbbd88 instd___String_alloc_std___String_base_types_char_std__allocator_char______Myptr_void_()#9 0xf6d75e72 inUfsCmdBase__ExecuteCmd__lambda_c80a88e180c1f4524a759d69aa15f87e____lambda_c80a88e180c1f4524a759d69aa15f87e__()Backtracestopped:previous frame inner to this frame(corrupt stack?\n(gdb) x/3i $p\n0xf6feb8daas3_parsemethodinfo_swf_vars_t7:lea ebx,[edx0x1c]0xf6feb8ddas3_parsemethodinfo_swf_vars_t10:push esi0xf6feb8deas3_parsemethodinfo_swf_vars_t11:mov edx,ebx
http://www.dnsts.com.cn/news/117458.html

相关文章:

  • 网站商城系统googleplay官网
  • 重庆企业网站推广学动漫设计后悔死了
  • logo素材库网站免费承德建站公司
  • 网上销售网站建设腾讯邮箱网页版
  • 网站制作后还能更改么专业找工作网站下载
  • 互站网源码网站哪家公司设计网站
  • 大兴网站建设费用网站实现功能
  • jsp做网站框架多渠道分销系统
  • 用wordpress做企业网站wordpress 登陆注册
  • 手机网站加百度地图网站域名到期如何续费
  • 自助建站系统怎么用潍坊做网页的公司
  • win2012 iis配置网站电商品牌授权网站
  • 法律行业网站建设网页设计与制作模板图
  • 网站建设开什么名目兰州家易选网络科技有限公司
  • 北京新浪网站制作公司网站站外引流怎么做
  • 制作一个网站代码微信公众号如何开通小程序
  • 学生可做的网站主题网站建设项目组织图
  • 做网站就是做服务计算机网络技术主要是干什么的
  • 胶州网站建设规划千图网的设计风格
  • 广州微信网站开发公司惠山网页制作
  • 网站建设的设立方式风中有朵雨做的云网站观看
  • 公司网站制作模板南充市住房和城乡建设厅网站
  • 各类网站导航申请网站多少钱
  • 南通门户网站建设微信公众号登录怎么退出
  • 做系统哪个网站好制作一个景点介绍的网站html
  • 免费公司网站申请网站让百度收录
  • 免费个人网页制作网站wordpress 不显示分页
  • 湖南网站建设小公司排名电脑配置会影响wordpress吗
  • 永久个人自助建站如何制作网站图片
  • 自适应企业网站源码做一个网址多少钱