自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (12)

原创 源码分享-增量更新BSPatch算法的Java版实现

BSDiff是一个增量更新算法,它在服务器端运行BSDiff算法产生patch包。在客户端运行BSPatch算法,将旧文件和patch包合成新文件。增量更新在很多大型应用中是比较常见的一种技术,通过文件对比的方式来生成差分包。bsdiff这个开源库连接:http://www.daemonology.net/bsdiff/遍历搜索引擎,只发现BSPatch算法实现只有C语言源码,使得在Android等Java语言环境中,只能通过NDK的方式运行,非常不方便。自己阅读了下BSPatch算法源码,发现

2020-07-14 23:35:30 88

原创 源码分享-以队列方式运行任务

有些时候,需要用队列的方式,及先进先出,依次执行线程任务。大概场景如下: 1. 不是很急的任务(比如提前缓存),但不能在主进程中进行(比如网络传输); 2.需要有顺序的执行线程任务; 3.任务调用比较集中(某时刻突然增加大量任务,但大部分时间没有任务); 4.希望进程数更少的执行大量重复性任务; 5.。。。。。。 下面是我实现的队列线程基类,分享给大家。import java.util.LinkedList;import java.util...

2020-06-21 10:04:13 73

原创 Andriod反编译-从iReader开始学习反编译

一、声明 本人反编译只用于学习交流,禁止使用本文章用于商业用途。其次,如果本文章侵害了您的权益,请及时联系我删除本文。二、准备 1. 该文章使用window10系统,使用其他系统可能会与本文章描述有所不同。 2.安装好的 Android Studio 软件一套,并确保软件编译工作正常。 3.java反编译工具 jadx与dex2jar,没有请网上自行下载...

2019-11-17 22:13:01 107

原创 STM32F4开发-TFT屏驱动(支持横屏、竖屏选择)

一、总述 以下的程序都是基于https://blog.csdn.net/zhyulo/article/details/89816439 方法建立的工程。 代码已上传:https://download.csdn.net/download/zhyulo/11159855 。 基于STM32F4的StdPeriph固件库TFT屏驱动程序,其中TFT屏控制芯片为ILI934...

2019-05-20 16:07:43 3895 2

原创 STM32F4开发-新建工程

一、总述 之前买了一块STM32F407ZG的核心板,以及和它配套的TFT显示屏,学了很久了吧。最近同学让我教他STM32开发,于是就想写点东西总结一下。 我习惯用的开发环境是Keil,软件及开发环境的安装网上有很多例子,在这里就不再细说了。那么接下来,就是学习如何新建一个STM32工程。(为了减小开发负担,在这里使用了STM32F4的StdPeriph固件库)二、第一步—...

2019-05-04 20:30:24 1626

原创 用Arduino读取MLX90393三轴霍尔传感器

一、模块简介 Melexis MLX90393是一个三轴霍尔传感器,可以检测各个方向的磁场强度,MCU通过I2C或SPI读取X/Y/Z三轴磁场分量。 MLX90393的数据手册已上传:https://download.csdn.net/download/zhyulo/11125410 MLX90393的SPI与I2C通讯方式电路结构不一样,详细内容在数据手册24页。推...

2019-05-02 14:17:21 2116 12

原创 Live555在安卓端移植时无法打印信息的问题解决方案

一、简介 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常...

2019-04-11 14:12:45 260

原创 pcDuino-脱离arduino IDE,用gcc编译arduino程序

一、pcDuino简介 pcDuino专门针对开源社区快速增长的需求,即希望有一个平台可以运行完整的PC操作系统,容易使用的工具链和兼容流行的Arduino开放的生态系统,如Arduino shield和开源项目等。 pcDuino的硬件性能指标远超树莓派,性能稳定,做工精良。pcDuino迷你计算机的CPU采用1GHz ARM Cortex A8内核,DRAM为1GB,板载存...

2019-04-01 15:28:01 596

原创 pcDuino-软件更新update及upgarde、远程桌面程序安装

一、描述 pcDuino在执行软件更新的时候,尤其是在刷机后,经常会出现以下问题:以下为解决该问题的方法。二、安装编辑器 nano 个人在命令行喜欢使用 nano 编辑器,所以在操作前先安装 nano。sudo apt-get install nano三、更新软件update及upgarde 执行以下步骤,修改更新源。cd /etc/a...

2019-04-01 14:04:27 173

原创 pcDuino-系统语言及时区时间设置

一、描述 pcDuino在刷机Ubuntu后,系统语言为英语,时间是2011年1月1日,时区也不对,需要重新配置。 pcDuino刷机Ubuntu教程,可参考 https://blog.csdn.net/zhyulo/article/details/79013752 。二、刷机后开机配置 pcDuino在刷机Ubuntu后,重启,会有提示按F8键进入系统配置,进入...

2019-04-01 13:25:38 163

原创 iTOP-4412开发板的Qt交叉编译环境配置

一、iTOP-4412开发板简介 iTOP-4412核心板是迅为电子推出的一款高端四核核心板,配备三星Exynos 4412四核处理器,主频为1.4GHz,内置8GB存储空间。该板设计小巧。配备三星自家电源管理芯片,具有9路DC/DC和28路LDO输出电源,在-20℃至70℃范围的高低温运行测试中运行良好,支持MPEG-4/MPEG2、H.264/H263、VC-1、DivX的视频编解码...

2019-03-24 11:44:45 458

转载 Ubuntu 更改系统语言为简体中文

使用VMware Workstation 安装64位ubuntu16.04系统,系统默认使用英文,而使用virtualbox安装,可以选择使用简体中文作为系统语言。由于英文水平有限,所以使用简体中文作为系统语言。下面是VMware Workstation安装的ubuntu 16.04的系统语言由英文改为中文的教程。前前后后折腾的不轻,也许是水平问题吧。注意:里面有一个坑,勾选简体中文的同时把...

2019-03-12 20:51:24 317

原创 windows系统API中CreateWindow函数窗口的风格

2019-03-06 17:16:26 1139

原创 PE文件解析-资源中的对话框结构

一、概述 想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...

2019-03-06 17:00:12 410

原创 PE文件解析-资源中的快捷键结构

一、概述 想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...

2019-03-03 15:50:21 90

原创 PE文件解析-资源中的字符串结构

一、概述    想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...

2019-02-27 17:52:50 544

原创 PE文件解析-资源中的工具条结构

一、概述    想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...

2019-02-23 17:39:40 119

原创 PE文件解析-资源中的版本信息结构

一、概述    想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...

2019-02-23 16:54:42 1093

原创 Android NDK 字符编码转换及icu库ucnv_convert函数不同版本的统一使用方法

 一、ICU4C及ucnv_convert概述    如果是在java层,有String类可以很好的转换各种编码,在ndk下面就没有现成的公开的工具,不过可以用icu4c。    ICU4C 是IBM的国际化开发组件ICU的C语言实现版本。在android系统里也有实现。ndk里面并没有公开可用的api,需要自己加载动态库来调用转换函数。    android下icu库路径为"/sys...

2019-01-31 14:40:50 1124

原创 PE文件解析-资源中的菜单结构

一、概述    想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...

2019-01-31 13:15:25 302

原创 PE文件解析-资源中的位图、图标与光标结构

一、概述    想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...

2019-01-14 15:19:41 743

原创 位图文件解析-位图(bmp)、图标(ico)与光标(cur)

一、位图(bmp)1.位图简介    BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左...

2019-01-06 18:24:52 2537

原创 PE文件解析-资源(Resource)

一、位置    PE文件头可选映像头中数据目录表的第3成员IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE]指向映像调试信息,它保存在PE文件中,通常在".rsrc"区段。二、资源简介    程序内部和外部的界面等元素的二进制数据统称为资源,程序把它们放在一个特定的表中,符合数据和程序分离的设计原则。资源...

2019-01-06 16:19:02 1967

原创 PE文件解析-加载配置表、绑定导入表、导入地址表与延迟导入表

一、加载配置表1.位置与简介    载入配置表早期是用于描述当PE文件头或PE可选头无法描述或者因为太大而无法描述的各种功能。    后来以XP及以后的系统主要是为了存储SEH句柄,称为安全结构化异常处理程序列表,如果SEH异常处理没有经过注册,在载入配置表中没有句柄,这个异常处理就不会被执行。    据微软官方说明,这个载入配置表的作用是为了防止“x86异常处理程序劫持”的漏洞。因为...

2019-01-06 15:06:58 755 1

原创 PE文件解析-全局指针表与线程局部存储(TLS)

一、全局指针表    PE文件头可选映像头中数据目录表的第9成员IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_DIRECTORY_ENTRY_GLOBALPTR]指向全局指针。    在x86与x64系列平台没有使用全局指针表,目前只应用于MIPS等平台上,多用于参数传递。二、线程局部存储(TLS)1.位置与简介    PE文件头可选映像头中...

2019-01-06 14:27:47 414

原创 PE文件解析-调试、版权与.NET信息(COM表)

一、映像调试信息    PE文件头可选映像头中数据目录表的第7成员IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_DIRECTORY_ENTRY_DEBUG]指向映像调试信息,它保存在PE文件中,通常在".debug"区段。  映像调试信息是一个IMAGE_DEBUG_DIRECTORY结构体数组,该结构体定义如下:typedef struct _I...

2019-01-06 13:54:37 789

原创 PE文件解析-异常处理表与数字签名

一、异常处理表1.位置及概述    PE文件头可选映像头中数据目录表的第4成员IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_DIRECTORY_ENTRY_EXCEPTION]指向异常处理表,它保存在PE文件中,通常在".pdata"区段。    x86系统采用动态的方式构建SEH结构,相比而言x64系统下采用静态的方式处理SEH结构。2.异常处...

2019-01-06 13:20:08 896

转载 PE文件解析-输入表、输出表与重定位表

一、 输入表1、输入表地址定位   PE文件头可选映像头中数据目录表的第二成员指向输入表,输入表以一个 IAMGE_IMPORT_DESCRITPTOR 数组开始,每个被PE文件隐式地链接进来的DLL都有一个IID,在这个数组中没有字段指出该结构数组的项数,但他最后一个单元是NULL。    数据目录表的第二成员 IMAGE_DATA_DIRECTORY DataDirectory[IM...

2019-01-03 22:02:22 1057

转载 PE文件解析-文件头与整体介绍

一、PE的基本概念    PE(Portable Execute)文件是Windows下可执行文件的总称,常见的有DLL,EXE,OCX,SYS等,事实上,一个文件是否是PE文件与其扩展名无关,PE文件可以是任何扩展名。    认识PE文件不是作为单一内存映射文件被装入内存是很重要的。Windows加载器(又称PE加载器)遍历PE文件并决定文件的哪一部分被映射,这种映射方式是将文件较高的偏移...

2019-01-03 20:58:37 2938

原创 反编译安卓程序时出现"UNKNOWN_DATA_0x7101"的解决方案

在反编译Android手机程序时,资源文件xxx.xml中经常出现类似以下的语句android:layout_height="UNKNOWN_DATA_0x7101"这种语句指示长度/宽度到底是多少,但是反编译工具不认识.其实解决方法很简单,把"UNKNOWN_DATA_0x7101"换成"113dp"即可.但为什么是"113dp"呢?把0x7101的最后一个字节0x01去掉,高位...

2018-11-25 20:19:55 441

原创 微机实验-带数码管倒计时的交通指示灯设计

一、实验原理使用8253对1MHz时钟进行1M分频,从而实现1s精确定时。使用8255A口控制指示灯,8255B口控制数码管倒计时,8255C口0-1控制数码管片选,7口对1s时钟进行读取。二、连线8253的CLK0接1MHz时钟源,OUT0接CLK1,OUT1接8255的PC7,GATE0、GATE1接电源+5V。8255的PA0、PA1、PA2分别接路口1的绿、黄、红灯,PA5、PA6、PA7...

2018-07-07 11:43:50 3009 20

原创 ESP8266-使用浏览器动态连接路由器

乐鑫的ESP8266,不仅具有单片机的绝大部分功能,还能无线上网,是一款非常强大的物联网WIFI模块。ESP8266的开发环境有很多,在此我推荐使用arduino IDE for ESP8266。网上有很多的配置教程,不想找也可以打开以下链接,这是我转发的一个配置教程:https://blog.csdn.net/zhyulo/article/details/80946422配置好后,会有很多的实例...

2018-07-06 23:02:44 1798 2

转载 使用arduino环境编译ESP8266程序

自从乐鑫esp8266出现后,其价格低廉的解决方案,引起了业界的广泛关注,堪称业界里程碑。但是很多人买来之后不知道怎么使用,今天在这里和大家讨论分享一下:      ESP8266简介,乐鑫的单芯片wifi 控制器 目前市面上有3种开发方式:1:使用乐鑫AT 固件,使用时,单片机通过串口用AT指令来实现wifi连接、网络通迅,例如arduino uno+esp8266他们间使用AT指令来交互。2:...

2018-07-06 21:38:33 6610 6

转载 IAR 错误Li005 解决方法

转载自:http://www.51hei.com/stm32/3615.htmlError[Li005]: no definition for "__iar_program_start" [program entry]IAR 6.3 STM32标准库 3.5 编译后无法正常链接 报以上错误 检查后需要更改如下设置使用 Normal 或 Full这个要打勾...

2018-07-03 21:38:05 1975

原创 DS18B20温度传感器的Arduino驱动程序

DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。前几天有位朋友让我帮忙写个DS18B20的Arduino驱动程序,忙了一个小时,终于成功了。对比DS18B20与DHT11,他们的相同点是:都是数字信号,所需IO口都是1,都是温度传感器。但是DS18B20不具备DHT11所具有的湿度测量功能,DS18B20的优点是精度高(比DHT11...

2018-06-16 15:46:15 4696 13

原创 用Arduino读取HX711应变片专用模块

HX711模块是内置信号放大的24位有符号差分模/数(A/D)转换模块。它内置了最大128倍增益,能够把微小的信号(几mV)进行量化。HX711有2路通道(A通道与B通道),通信过程简单,但是采样率比较低(10Hz/80Hz),广泛应用于电子秤等使用应变片进行压力或拉力测量场所。HX711的输入电路以桥式电路为主,经典芯片外围电路如下图所示:HX711模块给的实例程序大部分是51单片机的程序,博主...

2018-05-13 12:59:00 9961 8

原创 pcDuino刷机Ubuntu教程

背景:本教程中使用的电脑为Windows7系统,其他windows系统一般都可能适用。其他系统电脑,诸如MAC、Linux系统不适用。一、刷机前准备设备1.内存超过4G的TF卡(SD卡、手机内存卡)一张,读卡器一个2.下载刷机工具Phoenix Card、内核文件kernel、Ubuntu系统镜像下载网站:http://www.linksprite.com/image-for-...

2018-01-09 15:51:57 1095

转载 J-link v8固件刷写详细教程

声明:本篇博客文章是我从网站上找到的,可是其中有一些不能用的地方,所以修改后重新发布。相比原作者我的功劳还是很小的。在此感谢原创作者了!但是因为当时事情比较急,浏览的网页也太多了,所以没有记得这篇文章的具体来源了。还望见谅!Jlink 4.5版本之后驱动会识别老的克隆版的JlinkV8,Jlink软件在启动时会提示为克隆版本后退出。目前主流的破解方式主要有两种:方法一,继续使用老版本的DLL链

2017-12-28 16:54:39 8375 2

原创 WRTnode-make V=s出错解决办法

WRTnode是基于Wi-Fi AP-Soc的开源硬件开发板。官方网址 http://wiki.wrtnode.com/index.php?title=Main_Page/zh-cn对于初始学习WRTnode,尤其是之前没有学过Linux开发的人来说,总会遇到各种各样的问题,即使你是照着官方文档按流程做的。这不,按照官网的流程做个 helloworld,都遇到了困难。下面介绍一下我遇到

2017-12-11 14:49:26 689

原创 WRTnode-使用U盘

WRTnode是基于Wi-Fi AP-Soc的开源硬件开发板。WRTnode拥有USB接口,使用USB线,可以连接所有的USB设备(但是不一定能使用,因为想使用要添加驱动,但驱动不一定能找到)。以下为WRTnode使用U盘的步骤:1.上电WRTnode,将电脑或手机连接到热点 ITRON+xxxx 上,密码与WIFI名一样。或者热点名为“WRTNode2XXXX”,默认密码是:123456

2017-12-07 21:28:21 317

TFT_Driver

基于STM32F4的TFT屏驱动程序,其中TFT屏控制芯片为ILI9341。本程序能够动态设置屏幕显示方向:横屏两种、竖屏两种,动态设置显示扫描方向:上下左右不同顺序共8种。本程序支持圆形、矩形、线段、点等基本绘制图形。支持显示中/英文,同时具有触屏驱动能力。

2019-05-05

arduino-MLX90393

Theodore Yapo大神写的Melexis MLX90393三轴霍尔传感器的arduino驱动库函数

2019-05-02

MLX90393-数据手册

MELEXIS三轴磁感应传感器,真正可以检测各个方向的磁场强度,如果需要磁力检测的朋友可以看看

2019-04-18

3D打印机G-M代码详解

使用3D打印机时,通过串口发送的G-M代码,详细的解释。

2019-03-22

可执行文件资源提取

对可执行文件进行资源提取。可提取exe、dll、fon等文件,输出RC文件。RC文件用记事本打开后另存为ANSI编码格式,然后就可以用VC打开RC文件了。可以提取所有资源类型,包括图标、位图、光标、菜单、对话框、字符串、快捷键、版本信息、工具条等。使用方法:打开cmd,敲入:"资源提取.exe xxx.exe ./",其中"资源提取.exe"为软件名,"xxx.exe"为需要提取的可执行文件,最后面的"./"为输出路径。自己编写的程序,可能有些bug,欢迎留言。

2019-01-08

WS_APP_PAY_SDK_BASE-15.5.5

支付宝接口SDK,旧版本15.5.5,包括jar包alipaySdk-20180601

2018-12-09

PC 游戏编程(人机博弈)

本书是一本专论机器搏奔的作品。详细披露了编写人机对奔程序的原理,技术和各种相关内容。包含一个完整的中国象棋人机对奔程序和一个完整的五子棋人机对奔程序实例。毫无保留的展示了估值核心,走法产生,以及约十种不同的搜索引擎,彻底解析了高性能博奔程序的秘密所在。实用性是本书的最大特点,本书的目标是让一个粗通程序设计的人在一个月内写出令人惊讶的人机博奔程序。完全没有一般人工智能书籍晦涩难懂的感觉。

2018-12-09

Android反编译神器jadx

Android反编译神器jadx.优点:图形化的界面,拖拽式的操作,反编译输出 Java 代码,导出 Gradle 工程. 如果不能运行,可能是缺少环境变量,可以在jadx-gui.bat文件中开头添加 set JAVA_HOME=C:\Program Files\Android Studio\jre,路径是自己的java编译器的安装路径.

2018-11-25

WinRAR安装包

WinRAR_5.40安装包,中文版,64位windows操作系统,无广告,已注册,可以直接解压/安装使用.

2018-11-25

AP_STA.ino

使用arduino编写的ESP8266使用浏览器动态连接路由器的代码,基于AP+STA。

2018-07-06

qbittorrent-4.0.4.tar.xz

qbittorrent-4.0.4源代码,使用Qt开发。替代 uTorrent 的优秀开源软件

2018-03-19

FileTool.dll

Win7下VC++6.0打开文件崩溃的补丁,FileTool.dll,已编译

2018-03-19

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除