Fuzz这个词汇行内的都懂,fuzz工具我就不多说了。

今天,说说fuzz前的准备工作--如何对软件进行修改实现可自动化和无人值守fuzz.

  很多软件会有试用期、弹窗、覆盖提示、人机交互等等,这些都会造成无人值守的fuzz平台无法继续。

1.对于 注册激活提醒弹窗,我们可以直接爆破掉验证函数,也可以分析注册流程,写注册机。

2.对于解压缩这种软件可能会出现覆盖提示,如果程序中有设置最好了;如果可以爆破提示框,这样也行,但是对于提示框,选项超级多的时候就麻烦了,分析每个按钮,下拉列表功能,就太麻烦吗;面对这种

情况,我给程序添加了新节,并修改了OEP,在新节中放入shellcode,shellcode功能是根据传入的命令行,找到要解压的路径,遍历清空要解压到的文件夹,这样就不会提示覆盖了。(我遇到的情况比这个还复杂)

记录下详情:1.添加节: 利用zeroadd.exe,网上有,随便添加个节。2.修改新节属性为可读可写可执行:利用exescope工具找到新节属性位置(Section Flags ),并看看其他text节的属性,利用hexworkshop工具,利用ctrl+g功能快速找到属性所在位置,修改成和text节一样的属性即可。3:将shellcode复制到新节位置:利用hexworkshop工具,快速地位到新节在文件中的位置(Pointer to Raw Data ) ,直接利用hexeworkshop打开shellcode的bin文件,复制粘贴过来就行。4,别忘记修改新节点的大小,大小一定要比shellcode大,如果太小,会造成shellcode无法完全载入到内存中,Virtual Size 和 size of raw data 都要修改一般都是200 400 800 这种。5.修改OEP:OEP位于optional header 中的Entry Point RVA 直接修改为新节 RVA/Offse属性值,就行,还是利用hexworkshop快速定位OEP位置修改保存 。6.跳回真正的OEP:保留个源程序的副本,od跟踪下真正的地址记录下来,shellcode要预留jmp xxxx 的空间,先预留几个nOp,使用od跟踪,在shellcode执行完 将预留的Nop 就改为jmp 记录的真正OEP地址(别忘记修复堆栈平衡)利用od的保存工嗯那个将文件保存下来。

Fuzz的那些事的更多相关文章

  1. 【腾讯Bugly干货分享】H5 视频直播那些事

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57a42ee6503dfcb22007ede8 Dev Club 是一个交流移动 ...

  2. CSharpGL(31)[译]OpenGL渲染管道那些事

    CSharpGL(31)[译]OpenGL渲染管道那些事 +BIT祝威+悄悄在此留下版了个权的信息说: 开始 自认为对OpenGL的掌握到了一个小瓶颈,现在回头细细地捋一遍OpenGL渲染管道应当是一 ...

  3. TODO:字节的那点事Go篇

    TODO:字节的那点事Go篇 (本文go version go1.7.3 darwin/amd64) 在Golang中string底层是由byte数组组成的. fmt.Println(len(&quo ...

  4. Microsoft Visual Studio 2013 — Project搭载IIS配置的那些事

    前段时间在改Bug打开一个project时,发生了一件奇怪的事,好好的一直不能加载solution底下的这个project,错误如下图所示:大致的意思就是这个project的web server被配置 ...

  5. OpenNLP:驾驭文本,分词那些事

    OpenNLP:驾驭文本,分词那些事 作者 白宁超 2016年3月27日19:55:03 摘要:字符串.字符数组以及其他文本表示的处理库构成大部分文本处理程序的基础.大部分语言都包括基本的处理库,这也 ...

  6. HTTPS那些事(一)HTTPS原理

    转载来自:http://www.guokr.com/post/114121/ 谣言粉碎机前些日子发布的<用公共WiFi上网会危害银行账户安全吗?>,文中介绍了在使用HTTPS进行网络加密传 ...

  7. 做一个 App 前需要考虑的几件事

    做一个 App 前需要考虑的几件事  来源:limboy的博客   随着工具链的完善,语言的升级以及各种优质教程的涌现,做一个 App 的成本也越来越低了.尽管如此,有些事情最好前期就做起来,避免当 ...

  8. Ctrl-A全选这点事(C#,WinForm)

    所有的文本框,不管单行多行都Ctrl-A全选就好了吧?是啊,很方便.Windows的软件基本都是这样.可为什么我们自己制作的WinForm就默认不是这样呢?谁知道呢,可能是WinForm饱受诟病,要改 ...

  9. 使用Bandwagon的VPS第一件事《FQ》

    说点闲话:昨天的长靴子到了,哎呀,今天那个高兴,踩着我的8厘米的过膝靴就出门上专业外语去了,扎了个麻花辫子,那个心情好哟,搞得我都不想继续学习linux平台上的C语言了,好想逛街----秀秀我的鞋子, ...

随机推荐

  1. JQuery 实现锚点链接之间的平滑滚动

    24. 解决链接锚点的生硬问题 $('.nav .btn[href*=#],.icon2,.icon3').click(function() { if (location.pathname.repla ...

  2. 编写一个简单的jdbc例子程序

    package it.cast.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Res ...

  3. 标签案例-开发foreach标签

    if(item.getClass().isArray()){ this.collection = new ArrayList(); int length = Array.getLength(items ...

  4. ajax下载多文件,并且打包 C#中 ,文件批下载zip

    //提交要下载的文件 $.ajax({ url:"/sub/ZipFile.aspx", data:"paras="+datas, type: 'HEAD', ...

  5. Objective的字符串拼接 似乎没有Swift方便,但也可以制做一些较为方便的写法

    NSString *str1 = @"字符串1"; NSString *str2 = @"字符串2"; //在同样条件下,Objective的字符串拼接 往往只 ...

  6. Linux用过的命令

    -上传sudo -u b2b rz--创建文件夹sudo -u b2b mkdir--copysudo -u b2b cp /b2b/apache-tomcat-7.0.64/matt/DqN017S ...

  7. Unite洛杉矶峰会精彩回顾:从图形、平台再到VR

    产品质量与工作流程 在Unity的研发过程中,保持创新的步伐与稳定性的平衡一直是一个挑战.Unity曾经向所有的用户承诺:Unity将专注于提升产品的质量并保证Unity版本稳定性的决心. 大会伊始, ...

  8. Android Studio踩坑记

    1. 模拟器在管理器中可以运行,但是点击run时死活找不到:    在sdk的/platform-tools/目录下找到adb.exe工具    打开cmd,输入下面两条命令    adb kill- ...

  9. .net使用OpenPop自动收邮件,并将邮件内容存入数据库

    1.下载OpenPop,将OpenPop添加到解决方案中. 2. else if (e.CommandName == "ConnectTest") { string sSERVER ...

  10. 基于HTML5和JS实现的切水果游戏

    切水果游戏曾经是一款风靡手机的休闲游戏,今天要介绍的就是一款网页版的切水果游戏, 由JavaSript和HTML5实现,虽然功能和原版的相差太大,但是基本的功能还是具备了,还是模仿的挺逼真,有一定的J ...