- 博客(62)
- 资源 (12)
- 收藏
- 关注
原创 源码分享-M3U8数据流ts的AES-128解密并合并---GoLang实现
学习了Go语言后,又用Go重新实现了一遍。源码如下,无第三方库依赖。之前使用C语言实现了一次,见。
2023-10-05 20:40:44 1118
原创 源码分享-golang的二进制文件读写库
功能类似golang标准库`encoding/binary`,用于二进制码流/文件的读写。对比标准库,本库对以下方面做了功能增强:1. 支持bit级别的结构体成员编解码2. 支持`bit`、`sort`结构体标签,用于指定结构体成员的bit数、大小端属性3. 支持`map`类型结构4. 支持`string`字符串5. 支持自定义方法编解码
2023-02-05 15:04:36 339
原创 源码分享-彩色/灰度保存二维数组值为BMP图片
源码中实现了一个功能:能够把二维数组的值,保存在BMP图片中。从而形象的观察数据峰值等在数组中的分布情况。实现基于Java,不依赖任何第三方库。默认生成灰度图,也可生成彩色图。数组的值取值范围0-255(彩色的图建议取值范围0-192,即红到紫的颜色部分)。图片效果:(0->255)调用示例:import java.io.File;import java.io.IOException;public class Main { public static void m
2021-10-31 01:47:11 734
原创 Android上so库的函数加载顺序验证
加载执行顺序: _init->xxx_init->JNI_OnLoad,记在这里,备忘。验证代码:#include <jni.h>#include <stdlib.h>#include <pthread.h>#define LOG_TAG "DexHelper"#include "Log.h"/*** 加载执行顺序: _init->xxx_init->JNI_OnLoad ***/extern "C"void _init
2021-08-11 18:18:50 689
原创 源码分享-Android上native的log头文件
使用该log头文件,更方便的调试Android上native代码。#ifndef _LOG_H_#define _LOG_H_#include <android/log.h>/* * This is the local tag used for the following simplified * logging macros. You can change this preprocessor definition * before using the other ma.
2021-08-11 18:12:30 530
原创 源码分享-基于Java,复制某目录(包括子目录)下的全部文件
如题,复制某个目录下的全部文件,包括子目录下的,输出到同一目录级下。返回复制成功的文件个数。 public static boolean copyFile(String in, String out) { if (new File(out).isDirectory()) { out = new File(out, new File(in).getName()).getAbsolutePath(); } try {
2021-08-11 18:01:44 212
原创 源码分享-M3U8数据流ts的AES-128解密并合并
源码依赖开源软件OpenSSL的crypto/aes/aes_core.c、crypto/aes/aes.h、crypto/aes/aes_locl.h共3个文件。
2021-06-18 20:24:32 2437
原创 使用CodeBlocks&MinGW编译7zip中的7za.exe
一、下载源码7-zip属于开源软件,可以直接从官网下载软件源码。官网地址:https://www.7-zip.org/在官网主页的左栏,单击Download,下载最新版本的源码包,这里给出最新版19.00 (2019-02-21) 的下载地址:https://www.7-zip.org/a/7z1900-src.7z将下载到的源码解压缩到一个文件夹下,这里包括Asm、C、CPP、DOC 4个文件夹。二、导入项目打开CodeBlocks,单击 打开存在的项目,文件类型选择 MS V
2021-04-07 21:17:55 564 1
原创 EBK2文件解析
一、概述之前反编译了iReader阅读的app,通过研读源码,获得了包括EBK2格式在内的文件格式。本文就EBK2的格式,将进行详细的分析。感谢荒野无灯大神的《 逆向iReader解读ebk2电子书格式 》,为我EBK2格式分析提供了巨大的帮助。二、文件头部分文件头结构如下:struct Ebk2Head{ DWORD bookid; WORD headDataSize;// ebk2文件头部信息数据总大小 WORD ebkVersion; // ebk文
2021-03-14 15:48:20 916
原创 Andriod踩坑日记---Paint.getTextWidths踩坑
使用Paint.getTextWidths时发现当小写'f'与小写'i'组成"fi"时,字符宽度输出错误。效果如下:显示代码如下:Bitmap bitmap = Bitmap.createBitmap(400, 300, Bitmap.Config.RGB_565);Canvas canvas = new Canvas(bitmap);Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);paint.setColor(0xFF000000);p.
2020-09-26 23:03:30 629
原创 源码分享-增量更新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 777 1
原创 源码分享-以队列方式运行任务
有些时候,需要用队列的方式,及先进先出,依次执行线程任务。大概场景如下: 1. 不是很急的任务(比如提前缓存),但不能在主进程中进行(比如网络传输); 2.需要有顺序的执行线程任务; 3.任务调用比较集中(某时刻突然增加大量任务,但大部分时间没有任务); 4.希望进程数更少的执行大量重复性任务; 5.。。。。。。 下面是我实现的队列线程基类,分享给大家。import java.util.LinkedList;import java.util...
2020-06-21 10:04:13 180
原创 Andriod反编译-从iReader开始学习反编译
一、声明 本人反编译只用于学习交流,禁止使用本文章用于商业用途。其次,如果本文章侵害了您的权益,请及时联系我删除本文。二、准备 1. 该文章使用window10系统,使用其他系统可能会与本文章描述有所不同。 2.安装好的 Android Studio 软件一套,并确保软件编译工作正常。 3.java反编译工具 jadx与dex2jar,没有请网上自行下载...
2019-11-17 22:13:01 477
原创 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 9388 3
原创 STM32F4开发-新建工程
一、总述 之前买了一块STM32F407ZG的核心板,以及和它配套的TFT显示屏,学了很久了吧。最近同学让我教他STM32开发,于是就想写点东西总结一下。 我习惯用的开发环境是Keil,软件及开发环境的安装网上有很多例子,在这里就不再细说了。那么接下来,就是学习如何新建一个STM32工程。(为了减小开发负担,在这里使用了STM32F4的StdPeriph固件库)二、第一步—...
2019-05-04 20:30:24 7095
原创 用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 11328 20
原创 Live555在安卓端移植时无法打印信息的问题解决方案
一、简介 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常...
2019-04-11 14:12:45 568
原创 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 1994
原创 pcDuino-软件更新update及upgarde、远程桌面程序安装
一、描述 pcDuino在执行软件更新的时候,尤其是在刷机后,经常会出现以下问题:以下为解决该问题的方法。二、安装编辑器 nano 个人在命令行喜欢使用 nano 编辑器,所以在操作前先安装 nano。sudo apt-get install nano三、更新软件update及upgarde 执行以下步骤,修改更新源。cd /etc/a...
2019-04-01 14:04:27 932
原创 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 1595
原创 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 1061
转载 Ubuntu 更改系统语言为简体中文
使用VMware Workstation 安装64位ubuntu16.04系统,系统默认使用英文,而使用virtualbox安装,可以选择使用简体中文作为系统语言。由于英文水平有限,所以使用简体中文作为系统语言。下面是VMware Workstation安装的ubuntu 16.04的系统语言由英文改为中文的教程。前前后后折腾的不轻,也许是水平问题吧。注意:里面有一个坑,勾选简体中文的同时把...
2019-03-12 20:51:24 2011
原创 PE文件解析-资源中的对话框结构
一、概述 想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...
2019-03-06 17:00:12 866
原创 PE文件解析-资源中的快捷键结构
一、概述 想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...
2019-03-03 15:50:21 247
原创 PE文件解析-资源中的字符串结构
一、概述 想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...
2019-02-27 17:52:50 1288
原创 PE文件解析-资源中的工具条结构
一、概述 想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...
2019-02-23 17:39:40 218
原创 PE文件解析-资源中的版本信息结构
一、概述 想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...
2019-02-23 16:54:42 2480
原创 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 2691
原创 PE文件解析-资源中的菜单结构
一、概述 想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...
2019-01-31 13:15:25 651
原创 PE文件解析-资源中的位图、图标与光标结构
一、概述 想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...
2019-01-14 15:19:41 2039
原创 位图文件解析-位图(bmp)、图标(ico)与光标(cur)
一、位图(bmp)1.位图简介 BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左...
2019-01-06 18:24:52 33333 3
原创 PE文件解析-资源(Resource)
一、位置 PE文件头可选映像头中数据目录表的第3成员IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE]指向映像调试信息,它保存在PE文件中,通常在".rsrc"区段。二、资源简介 程序内部和外部的界面等元素的二进制数据统称为资源,程序把它们放在一个特定的表中,符合数据和程序分离的设计原则。资源...
2019-01-06 16:19:02 5022
原创 PE文件解析-加载配置表、绑定导入表、导入地址表与延迟导入表
一、加载配置表1.位置与简介 载入配置表早期是用于描述当PE文件头或PE可选头无法描述或者因为太大而无法描述的各种功能。 后来以XP及以后的系统主要是为了存储SEH句柄,称为安全结构化异常处理程序列表,如果SEH异常处理没有经过注册,在载入配置表中没有句柄,这个异常处理就不会被执行。 据微软官方说明,这个载入配置表的作用是为了防止“x86异常处理程序劫持”的漏洞。因为...
2019-01-06 15:06:58 1660 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 1044
TFT_Driver
2019-05-05
可执行文件资源提取
2019-01-08
PC 游戏编程(人机博弈)
2018-12-09
Android反编译神器jadx
2018-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人