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

微信小程序自助建站网站改版灵感库

微信小程序自助建站,网站改版灵感库,WordPress字段值展示页面,godaddy主机到网站fuzz测试之libfuzzer使用小结背景基本原理使用方法主调DEMO参考资料背景 项目中#xff0c;为测试算法的鲁棒性#xff0c;经常会用到fuzz测试进行压力测试。fuzz测试是一种模糊测试方法#xff0c;本质是通过灌入各种变异的随机数据#xff0c;去遍历不同函数分支#xf… fuzz测试之libfuzzer使用小结背景基本原理使用方法主调DEMO参考资料背景 项目中为测试算法的鲁棒性经常会用到fuzz测试进行压力测试。fuzz测试是一种模糊测试方法本质是通过灌入各种变异的随机数据去遍历不同函数分支以暴露程序中可能出现的问题。 * 接下来本文以安卓平台LLVM自带的libFuzzer工具使用为例简单介绍其使用方法。 基本原理 在学习使用之前先了解其基本运行原理。LLVM中首先调用一次初始化接口LLVMFuzzerInitialize设定参数然后通过反复调用接口LLVMFuzzerTestOneInput不断灌入不同长度的随机数据直到程序达到最大运行限制或中途找到bug才中断退出。 使用方法 所需环境 电脑硬件 NDK编译软件使用NDK-R20及以上的版本其clang编译器自带地址消毒和fuzz测试模块adb软件用于电脑与手机联调 安卓手机可使用开发者人员选项 所需文件 CPP主调 xx_fuzz.cc 编译脚本 andriod.mkapplication.mk 待测试算法源码 xx.c 基本流程 电脑用NDK编译源文件生成可执行文件 andriod.mk中添加 编译选项LOCAL_CFLAGS -fsanitizefuzzer,address -fomit-frame-pointer链接选项LOCAL_LDFLAGS -fsanitizefuzzer,addressaddress选项是打开asan地址消毒功能可增强找bug能力 application.mk中添加 标准库APP_STL : c_shared因为调度代码是用CPP写的需用到STL库 打开powershell在mk文件所在目录下通过ndk-build指令编译可执行文件 通过ADB软件push推到手机文件夹内 拷贝上一步骤生成的可执行文件和动态库文件如libclang_rt.asan-aarch64-android.so和libc_shared.so将之推到手机内如/data/local/tmp/xx_fuzz/ 指令举例adb push xx.so /data/local/tmp/xx_fuzz/ 通过ADB输入相关指令在手机上启动运行程序 电脑连接安卓手机手机进入开发者模式电脑命令窗输入adb shell进入手机环境切到可执行文件对应目录输入以下指令运行程序 LD_LIBRARY_PATH./ ./demo_exe -max_len65535 -len_control0 -artifact_prefix./corpus/ -detect_leaks0 ./corpus 解析报错日志 根据手机环境反馈的错误信息如偏移地址0x226534将ndk自带的llvm-symbolizer.exe所在目录添加到电脑环境变量的path中命令窗输入以下指令解析报错相关代码上下文分析算法修复bug 指令llvm-symbolizer -edemo_exe 0x226534 --print-source-context-lines3模式llvm-symbolizer -e库名或EXE名 报错显示的偏移地址 重点步骤 打开fuzz测试的编译选项并编译成功LLVMFuzzerInitialize/LLVMFuzzerTestOneInput主调代码编写 注意事项 主调demo中不用写main函数main由libfuzzer框架提供c和cpp代码联合编译时需用宏区分函数命名 具体MK文件编译脚本说明见《NDK编译系列构建C/CPP工程》。 主调DEMO 上面流程中用到的主调xx_fuzz.cc里的两个接口函数框架模板如下 #include stddef.h #include stdio.h #include stdint.h #include stdlib.h #include string.h #include time.h #include math.h#ifdef __cplusplus extern C { #endifint LLVMFuzzerInitialize(int argc, char **argv) {// write your codereturn 0; }int LLVMFuzzerTestOneInput(const uint8_t *buf, size_t len) {// write your codereturn 0; }#ifdef __cplusplus } #endif进一步的具体使用可以参考libfuzzer从入门到放弃。 参考资料 llvm-libfuzzer官方介绍入门libFuzzer——编译链接libFuzzer使用总结教程libFuzzer学习Android NDK Address Sanitizer地址消毒ASANaac的fuzzer测试工程
http://www.w-s-a.com/news/109674/

相关文章:

  • 个人建站教程优秀的定制网站建设
  • 农村建设集团有限公司网站下载百度极速版
  • 微信公众号个人可以做网站么做企业网站需要哪些
  • 如何用付费音乐做视频网站wordpress如何设置首页
  • 杨凯做网站网站首页 排版
  • 网站图片标签江苏省建设类高工申报网站
  • 网站建设中的英文什么网站可以做医疗设备的
  • 柳州购物网站开发设计服装网站的建设与管理
  • 做网站的上海市哪家技术好北京百姓网免费发布信息
  • 网站文章排版制作网站软件
  • 云南网站开发公司网站商城定制网站建设
  • 企业网站的新闻资讯版块有哪些肇庆自助建站模板
  • 怎么做平台网站吗为网站做seo需要什么
  • 苏州吴江建设局招标网站海南网站搭建价格
  • 网站建设主要研究内容用哪个程序做网站收录好
  • 网站建设如何开单装修设计图免费
  • 做内容网站赚钱吗seo推广具体做什么
  • 连山区网站建设seo简历
  • 自助建站系统官方版太仓高端网站制作
  • 怎样只做自己的网站建设银行唐山分行网站
  • 咸阳鑫承网站建设软件开发公司网站模板
  • 百度怎么免费做网站网站建设大作业有代码
  • 小说素材网站设计素材网站特点
  • 如何建设一个好的网站WordPress主题设置数据库
  • 网站被模仿十堰网站制作公司
  • 怎么样做免费网站个人网站备案幕布
  • 做ppt的动图下载哪些网站制作一个网站需要多少时间
  • 公司网站开发制作备案中的网站
  • 怎么看网站的收录网站开发先前台和后台
  • 合肥市做网站多少钱wordpress网站布置视频