转:http://ele7enxxh.com/Use-AFL-dyninst-To-Fuzz-Blackbox-Binaries.html 使用afl-dyninst fuzz无源码的二进制程序 通常来讲,afl-fuzz需要对待fuzz程序重编译,重而对其进行插桩,这就要求拥有待fuzz程序的完整源代码.而afl-dyninst提供了一种静态无源码插桩的手段使得可以对无源码二进制程序插桩. 本文的测试系统为:ubuntu14.04. 下载&&编译 首先需要安装以下软件: sudo apt…
.Net的编程利器Reflector可以反编译基于.net开发的应用程序和DLL,其功能强大不用多说.今天想试验一把利用VS.net的插件断点调试外部无源码的DLL(只要是程序集都可以,所以exe也行)功能. 一.加载VS.net的Reflector插件 从官网下载的Reflector程序(最新版本为6.1.0)包中自带了VS.net的插件,名称为“RedGate.Reflector.Addin.dll”,打开Red Gate’s .Net Reflector程序,选择菜单Tools->Inte…
以下内容是看了Matrix67的关于二进制的blog(Link)的一点总结与摘录. Gray码,中文“格雷码”,是一种特殊的编码,相邻两个格雷码的二进制表示中有且仅有一位不同,且 n 阶 Gray 码是 0~2^n-1 的一个排列. n 阶 Gray  码可以由 n-1 阶 Gray 码镜像翻转之后最前面加一个 '1' 得到. 比如 2 阶 Gray 码为: 00 01 11 10 3 阶: 000 001 011 010 110 111 101 100 这样就巧妙的实现了相邻的数只有一个二进制…
在分析代码之前,我们先来了解一下,BCD码和二进制到底区别在哪? 学习过计算机原理的和数字电子技术这两门课的都会知道这两个到底是什么含义,也有的同学学过了,考过了,过了一段时间又忘记了,今天,我们通过一个代码案例来说说: 我们先查查百度,了解一下BCD码: BCD码(Binary-Coded Decimal‎)亦称二进码十进数或二-十进制代码.用4位二进制数来表示1位十进制数中的0~9这10个数码.是一种二进制的数字编码形式,用二进制编码的十进制代码.BCD码这种编码形式利用了四个位元来储存一个…
windbg源码驱动调试   环境信息 虚拟机:win7 32位 windbg:6.12(版本不存在太大影响) 设置过程 windbg与虚拟机连接:链接 配置windbg 配置好双机调试后,点击windbg菜单栏的debug->Break产生中断,控制权交给windbg 中断产生后,点击File->Open Sourse File(Ctrl+O)打开源码文件,就会显示出代码窗口 因为有驱动源码,可以直接在驱动入口处下断点进行调试,格式为"bu 驱动名!DriverEntry"…
关于调试器看不到进程,无法attach的问题,网上也有很多教程,基本是修改ro.debugable =1  ,ro.secure = 0 让adbd有root权限 attach到其他进程,涉及到要修改boot.img并刷包,可以在网上其他地方找找看相关资料 1.手机上运行apk 2.电脑上用jeb打开对应apk 3.用jeb debuger attach 到对应进程 4.转换到 bytecode 界面,Ctrl + B 在 目标位置下断点 按tab转换为java代码 断点在java代码展示界面无…
那些不靠谱的工具 先来说说那些不靠谱的工具,就是今天吭了我小半天的各种工具,看官上坐,待我细细道来.IDA pro IDA pro6.6之后加入了dex动态调试功能,一时间普天同庆.喜大普奔.兴奋之后你才会发现IDA这东西在动态调试方面真的是很挫,就算他是静态反编译之王,我也不得不说他的动态调试功能还非常需要加强.先说说使用ida调试dex的方法. IDA pro调试dex流程: 1.  用apktool反编译apk,添加android:debuggable="true",重打包apk…
★安装OS时,建议提前安装开发组件 CentOS 6:Development Tools.Server Platform DevelopmentCentOS 7:Development Tools.Development and Creative Workstation ★configure脚本(# ./configure [option…])常用选项: --help:获得其支持使用的选项--prefix=/PATH/TO/SOMEWHERE:指定默认安装位置:默认为/usr/local/:--…
一.安装方式介绍 1.yum 安装 目前CentOS官方已经把Kubernetes源放入到自己的默认 extras 仓库里面,使用 yum 安装,好处是简单,坏处也很明显,需要官方更新 yum 源才能获得最新版本的软件,而所有软件的依赖又不能自己指定,尤其是你的操作系统版本如果低的话,使用 yum 源安装的 Kubernetes 的版本也会受到限制,通常会低于官方很多版本,我安装的时候目前官方版本为1.12,而 yum 源中的版本为1.5.2. 请查看博文:http://blog.51cto.c…
下载rpm-build: # yum install rpm-build 如果上述方式无法安装(没配置网络源,虚拟机下是安装媒介源) 可以用下列方式下载后再安装(实践结果可能版本问题引起的缺少太多的*.so,不可行) wget http://archive.download.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/rpm-build-4.0-4.i386.rpm # rpm -ivh rpm-build-4.0-.i386.r…
author:JevonWei 版权声明:原创作品 下载mariadb软件包 https://downloads.mariadb.org/mariadb/5.5.57/ 一.创建用户和准备数据目录 1. useradd -r -d /app/data -s /sbin/nologin -u 360 mysql \\创建系统用户mysql,指定家目录为/app/data,uid为360,shell环境为/sbin/nologin 2. chown mysql.mysql /app/data 3.…
普通二维码跳小程序规则: https://developers.weixin.qq.com/miniprogram/introduction/qrcode.html#%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D 微信公众平台登陆地址:https://mp.weixin.qq.com/wxopen 选项设置入口: 登陆-> 开发 -> 开发设置 必须小程序审核上线才能发布规则,才能普通二维码跳转小程序 App.js接收到二维码参数,然后释放到全局即可 参数可能需要前端…
推荐:更多Linux 文件查找和比较 命令关注:linux命令大全 whereis命令用来定位指令的二进制程序.源代码文件和man手册页等相关文件的路径. whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返回所有信息. 和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找…
whereis命令用来定位指令的二进制程序.源代码文件和man手册页等相关文件的路径. whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返回所有信息. 和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高…
之前vs2008开发一直都好好,不知道为什么如今的vs2008打开和关闭都老是弹出这这个初始化Microsoft Visual Sourcesafe源码管理提供程序时失败的错误 解决方法非常easy: 打开vs.点击菜单条的工具.再点击选项,如图 将插件选择的管理插件处选择无就可以解决这个问题 假设sql2005或者sql2008等sql数据库出现上述问题.方法也是一样的 另外的办法就是升级vs2008,打补丁类的.…
一)我先用的小程序端的wx.request去调用API,发现竟然是一个坑! wx.request({ url: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' + token, method: "POST", responseType: 'arraybuffer', data: { scene: 111, //这里填写url的参数,最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&…
使用Docker构建容器能够极大的降低运维成本,提高部署效率,同时非常方便对服务的平行扩展.然而在构建容器镜像过程中的,存在着一个难以避免的问题,就是如果使用常见的发行版本作为程序运行的基础环境,那么即使一个服务本身的运行文件非常小,最终构建的镜像也可能会有会在运行环境的镜像的基础上变得更大,动不动就是数百M的体积. 以最常用于微服务开发的golang为例,golang的二进制程序可以一次开发跨平台编译,到处运行,因此其本身的程序自洽性其实非常完善,也很少会依赖复杂的外部环境,因此常用的发行版本…
通过微信扫小程序码,跳转到应用小程序内, 如何解析小程序码的参数呢? 一般小程序码会跳转到设置的页面,如首页, 可以直接跳转到小程序首页,然后解析小程序携带的参数,再打开某个页面. (小程序码的路径要线上版本存在的路径) 如:商品详情分享码 -> 用户扫码 -> 打开小程序页面(如首页)-> 解析码参数 ->打开商品详情 为啥不直接跳转到商品详情页呢?这当然是可以的,但我们要在首页完成初始化用户信息,所以选首页,加载完首页再跳转,提高首页曝光率,哈. 码携带参数和页面得到链接的参数…
很久没有写博客了,之前换了一份工作,很久没有做Android开发了,现在转做前端开发了,记录一下遇到的问题及解决的方法. 最近做微信小程序开发,遇到一个需求,后台管理系统生成的问卷和投票会有一个二维码,需要用微信扫码后自动打开微信小程序的问卷或投票详情页面. 首先,每个问卷或投票都有一个唯一的id,使用vue-qr来生成二维码 vue-qr安装: npm install vue-qr --save 安装完成后,在页面中引入vue-qr插件 <script>import vueQr from &…
[版权所有,转载请注明出处.出处:http://www.cnblogs.com/joey-hua/p/5138585.html] 项目关键java代码为,将tv设置为从jni读取的字符串,这里的破解内容是直接从apk动态调试修改最终显示在tv里的字符内容 1.工具介绍 Apktool,反编译源码用 Android studio+smalidea插件,动态调试用 2.准备工作 A.配置插件 下载插件smalidea,地址https://bitbucket.org/JesusFreke/smali/…
一.安装smalidea https://github.com/JesusFreke/smali/wiki/smalidea   1. 进入IntelliJ IDEA/Android Studio开始安装插件,进入Settings->Plugins点击Install plugin from disk选中下载好的压缩包 2. apply->restart Android Studio 3. 该调试方法的原理 采用 hook 方式达到开启所有应用调试的目的,xposed 插件代码如下   publ…
当我们反编译的jar包里class被混淆过,这时反编译出来的java文件会有各种奇葩的问题,不能直接用,比如某框架需要注册码,这个时候我们只能通过层层反编译将验证码相关的部分绕过,如果这个代码不是那么直接,我们就需要借助一些工具来达成了,直接编译class文件. 这里给出一个文章:http://blog.csdn.net/hexin373/article/details/6669813/ 结合自己对某框架的一个了解,再加上看了这个文章后,自己有了绕过某框架注册码的思路,无奈对java的字节码不熟…
敲码经验总结: 之前犯了一个错误就是,没有从底层开始学起,有啥问题,就直接博客园找源码,去CSDN找源代码,看到代码就复制粘贴,结果从新梳理知识点的时候,貌似除了复制粘贴,印象深刻的知识啥也没学到. 看来代码这些东西还是得多敲多总结才有效,不要害怕从底层开始学起,因为没有底层的知识作为支撑,即使你能做出效果也不知道如何做出来,万不可知其然而不知其所以然. 好了,敲码经验总结结束了,现在到了知识点回顾: 总纲分成两个部分: 一.总体商务平台的构思 二.实现JSP点击单选按钮,内容显示到JSP里 细…
go build 和 go install 都需要使用源码来进行编译.但是有时候我们只有.a或者.so文件.并不能获取到第三方库的源码,这时我们需要静态链接库编译的技巧: 上图是实验前的文件分布. 使用静态链接库编译命令: ➜ src go tool compile -I ../pkg/darwin_amd64/ callyx.go ➜ src go tool link -o call2 -L ../pkg/darwin_amd64/ callyx.o 实验后文件分布: 由图中我们可以看到,可执…
背景 总有一些特殊情况,我们没有源码,但是某个C#程序集dll或者可执行程序exe影响到我们代码的正常运行,我们希望得到源码,能改掉或者修改某些bug,但是苦于没有源码,这个时候可以用dnspy进行源码阅读和篡改重新编译. 示例 为了增加趣味性,我们这里先介绍一下一个女大学生陈依涵,号称软件届的手工耿,据说她老师布置作业需要每天发布一款精心制作的软件,于是从上个月25开始,陈童鞋几乎就没怎么断更. 她的代表作 <身高计算器>就是其中之一,被评价是"市面上最准的计算器".&q…
0x01    工具①Android Studio最新版.(用的1.5)②apktool尽量使用最新版的.(反编译本人用baksmali-2.1.3.jar)③smalidea插件.下载地址https://github.com/JesusFreke/smali/wiki/smalidea 0x02     具体步骤安装smalidea插件,选择File->Settings->Plugins,安装之前下载的smalidea插件. 以调试状态启动app (这一步不是必须的,可以先开启app)  …
#define BCD2TODEC(bcd) (bcd) = ((bcd) & 0x0f)+ ((bcd)>>4)*10 #define BIN2BCD(bcd) (bcd) = ((val/10)<<4) + ((val)%10) 两个宏定义即可实现…
1.使用re-sign.jar对待测包进行重签名,并记录下包名和主Activity名. 2.在Eclipse中点击File-New-Other 选择Android下的Android Test Project,Next 输入Project Name,Next 选择This project,Next 选择一个API等级,最好和要测试的真机匹配,Finish 3.创建一个测试包,如com.baidu.test 4.修改测试工程中的AndroidManifest.xml 将manifest标签下的pac…
待调试项目在AndroidManifest.xml中debugable=true 参照此处:https://blog.csdn.net/ausboyue/article/details/80189184 https://www.cnblogs.com/fengxing999/p/10007380.html 安装待调试设备到机器上(中间可能需要经过反编译,重新打包.签名) 快速调试Smali项目 Android studio 利用快捷键启动待调试process Unable to open deb…
本文简单的记录了下,在linux下如何通过源码安装程序,以及相关的知识.(大神勿喷^_^) 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在linux下用man命令查看的命令的文档 二.linux下程序的存放目录 linux程序的存放目录大致有三个地方: /etc, /bin, /sbin, /lib  :系统启动就需要用到的程序,这些目录不能挂…