自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(137)
  • 资源 (3)
  • 收藏
  • 关注

原创 Ubuntu平铺左、右、上、下、1/2、1/4窗口(脚本)

之前因为一直在用Ubuntu 18或者Ubuntu 20然后发现装了GNOME插件后,电脑在使用过程中,会时不时的卡死(鼠标没问题,键盘输入会有10-20秒的延迟)频率基本是一小时一次,因为这种卡顿会很容易打断思路,所以我重装了系统,从最小化安装开始,什么软件都经过我一手安装了(没有安装GNOME插件)发现没有卡顿的现象了(初步排查是GNOME插件的问题)。所以就有了这篇用脚本实现窗口平铺的文章。如何你们用插件没有这个BUG那么可以直接下载GNOME- WinTile插件就可以实现了。

2024-03-09 19:13:35 901 1

原创 一款基于Frida的Android- SO动态库逆向命令行工具

YJ是一款基于Frida框架的款Native层逆向分析的交互式工具,就像在GUN-LINUX上使用GDB工具一样,设计YJ的灵感来自GNU-GDB调试工具,它通过交互命令模式轻松地向展示你想要窥探的内存数据Frida是一个底层hook工具及框架。提供了hook工具的同时也提供了大量的API操作,基于Frida框架的大多都是一些对Java代码层的一个Hook集成,而对于Native层方面较为全面的分析工具很零碎。

2024-01-17 23:09:21 1851

原创 二重积分处理一重积分面积、体积法

2023-12-24 21:40:02 619

原创 如何在Everything中求解特征值

2023-12-24 21:38:17 500

原创 线性插值场景算法

2023-12-24 21:33:50 492

原创 均值不等式

2023-12-24 21:28:12 477

原创 泰勒多项式

2023-12-24 21:22:54 381

原创 不定积分公式推导

2023-12-24 20:48:07 433

原创 计算机网络——学习笔记

【代码】计算机网络——学习笔记。

2023-10-29 15:52:22 571

原创 汇编---Nasm

特点环境下说使用simd的一些优化操作,就需要使用simd指令集来操作数据,从而实现快速计算,那么此时的汇编代码块就起到了一个处理数据集功能的作用。这一块就是构造函数调用时的参数,上面我声明了必须是64bit的系统,因为rdi、rsi、rdx就是64bit ELF文件中的常用寄存器。​ 那么这里就很容易理解了其实就是构造了3个参数(1,message,13),这里的message就是一个字符串常量的地址。在进入到另一个函数地址时,会首先进行一个开栈操作,至于开多少取决于你的函数代码块有多少和编译器。

2023-04-29 00:16:37 2141

原创 Linux LD链接器 -静、动库编译or链接

使用动态、静态链接只会影响你链接后的可执行文件类型$ gcc main.c func.o #动态链接 $ file a.out && du a.out16K a.out$ gcc main.c func.o -static #静态链接 $ file a.out && du a.out880K a.out使用动态、静态打包,并链接不会影响文件大小如果需要编译静态程序那么链接的共享库是也必须是静态库。

2023-04-29 00:14:58 2051

原创 GCC __ATTRIBUTE__机制

在glibc源代码中你可能会看到大量的关键字,譬如常用的stdio.h中开头处就能见到它的身影了||||

2023-04-29 00:13:42 179

原创 音视频 & FFmpeg

本文章是以学习笔记形式展开记录。希望大家学成归来的时候多反馈国内的音视频社区吧。

2023-04-29 00:04:56 4755

原创 ffmpeg-mov-metadate不识别Bug修复

有趣的是,我试图将更多的元数据导入Plex,但这个选项实际上恰恰相反。在上面的代码中,我可以看到MDTA的方式是写入所有键,然后写入所有值,而我想大多数程序都期望列表中的键/值对,因此不知道如何读取MDTA元数据。结果是ffmpeg将Meta Box放在了Movie->UserData->Meta Box的位置。fftools/ffmpeg_opt.c -> ffmpeg_parse_options->open_files() 会读取输入文件并打印输入文件的数据,比如metadata。

2023-04-29 00:02:00 1820

原创 ffmpeg-源码

本文只是分析FFmpeg执行流程并不具有教学意义,都是以笔记形式记录,所得结论并不严谨,教学系列原理找官网。面向源码学习FFmpeg框架:为了方便调用ffmpeg api需要使用静态编译ffmpeg,一般开发大多数都是动态库为了节省应用内存,也有全静态的场景(嵌入式设备),就静态库而言大小就有编译后的头文件、动态库都放在源代码工作路径,方便管理,但是需要手动的添加头文件、链接库、动态\静态链接执行库。觉得麻烦可以直接将安装到默认用户环境目录下,在下面脚本中去掉参数就可以了。

2023-03-31 14:12:28 3614

原创 glibc-malloc申请堆空间流程分析

fast chunk就直接进入fast bin先进后出,其他bin则先进入unsort bin充当缓存作用。进行unsort bin遍历进行free chunk合并、归类在对应的bin区域查找。大于fast bin后进入unsort bin查找合适大小free chunk。小于fast bin大小时在fast bin中查找。:为了更快的找到最合适的堆块搜索顺序为如下。top chunk(切分chunk)bins(是否有最小能满足的)(满足一个条件即退出流程)top chunk划分。

2023-03-16 11:58:30 500

原创 交叉编译(NDK)

交叉编译是指在一种计算机体系结构上编译和构建应用程序,但是生成的可执行文件和库是针对另一种不同的体系结构,比如等。GNU 工具链:比如编译ARM64架构可以使用工具,并可以使用工具来进行调试,一般用qemu来运行多架构的可执行文件然后使用进来远程调试Clang/LLVM 工具链:Clang/LLVM 工具链支持许多不同的架构和操作系统Android NDK:专门为 Android 平台提供的交叉编译工具集。使用的编译工具链为Clang/LLVM。

2023-03-15 22:32:15 1025

原创 linux内核-内存管理

*分配一块给某个数据结构使用的缓存描述符name:对象的名字 size:对象的实际大小 align:对齐要求,通常填0,创建是自动选择。flags:可选标志位 ctor: 构造函数 */ struct kmem_cache * kmem_cache_create(const char * name , size_t size , size_t align , unsigned long flags, void(* ctor)(void *));

2023-01-29 23:17:47 1451 1

原创 vim实用命令

文章:https://juejin.cn/post/7084462939595341831。

2023-01-29 23:15:15 509

原创 RSA加密算法

# 因为$eb~~mod ~~\phi(n) = 1 $ —> eb = k$\phi(n) $ +1 #k表示正整数。因为p、q是一对不相等且互质的数,那么n只有在 n /[p,q,1,n]时才能被整除,其中M为明文它本身就是一个不是特别大的数,所以在加密过程中。,其中在n为一个很大的数的情况下,且a与n大小差距非常大时,就有。就等同于定义中的a,那么就需要证明n为一个很大的数,同为互质,且。## 实际加密中n为一个很大的数,那么当。与 n大小距离非常大,,,因为。互质,则有整数d使得–>

2023-01-29 23:13:36 452

原创 RC4加密算法

将输入的种子密钥填充至大小为256byte的K表,一般不超过256byte,少于则循环补充例如密钥为123,则K表的值填充为123123123123…1(len = 256)按升序填充S表内容,S[0] = 0 、S[1] = 1、、、、、S[255] = 255。

2023-01-29 23:13:01 569

原创 AES加密算法

​ 先转换为二进制->(00000011) * (a7 a6 a5 a4 a3 a2 a1 a0) = (00000010 xor 00000001) * (a7 a6 a5 a4 a3 a2 a1 a0) = (00000010 * (a7 a6 a5 a4 a3 a2 a1 a0)) xor (a7 a6 a5 a4 a3 a2 a1 a0) ####可理解为a乘以2再加上一个a。第三行:(03,01,01,02) * (1e,27,98,e5) = 4c。

2023-01-29 23:11:43 7031

原创 DES加密算法

一bit,

2023-01-29 23:08:01 1990

原创 音视频xxxx

本文章是以学习笔记形式展开记录。https://ffmpeg.xianwaizhiyin.net/base-knowledge/raw-yuv.html (理论)https://blog.youkuaiyun.com/leixiaohua1020/article/details/50534150 (实际)大概看了一下网上的音视频文章,目前来看文章大部分知识都是雷神那些CSND来的,难怪我leader说国内玩ffmpeg的搞来搞去就是那么点人,和我在学校期间学习Pwn和文章也是一样的现象内容都有雷同之处,~嗯。

2023-01-29 23:01:23 25867

原创 Arm汇编---寄存器

----------------------------------------- 三、段寄存器 ----------------------------------------------------------------------------------------- 四、标志位 -----------------------------------------------段寄存器是根据内存分段的管理模式而设置的。flag寄存器是按位起作用的,也就是说,它的每一位都有专门的含义,记录特定的信息。

2023-01-18 17:45:23 1891 1

原创 C\C++中结构体-字节对齐

内存对齐是以内存占用最长的基本数据类型作为对齐单位的,且对齐后的总大小是最长字节的倍数。数据结构的各类型数据的顺序也会影响内存占用大小,所以一般顺序都是从小->大的顺序进行结构体成员添加,这样就可以节省内存空间了。(相邻的成员类型占用长度不要多大,如(char -> double就浪费了7个字节))

2023-01-18 17:44:43 345

原创 汇编Assembly

特点环境下说使用simd的一些优化操作,就需要使用simd指令集来操作数据,从而实现快速计算,那么此时的汇编代码块就起到了一个处理数据集功能的作用。这一块就是构造函数调用时的参数,上面我声明了必须是64bit的系统,因为rdi、rsi、rdx就是64bit ELF文件中的常用寄存器。​ 那么这里就很容易理解了其实就是构造了3个参数(1,message,13),这里的message就是一个字符串常量的地址。在进入到另一个函数地址时,会首先进行一个开栈操作,至于开多少取决于你的函数代码块有多少和编译器。

2023-01-18 17:44:09 1039

原创 各类bin介绍

也是双链表结构,它在bins处于bin64~bin126,那么64bit中最小large bin为 2 * 8 * 64 = 1024byte,哎,这个时候前面说的fd、bk、fd_nextsize、bk_nextsize就来到用武之地了,为了加快检索速度,fd_nextsize和bk_nextsize指针会指向一个大小与自己不一样的chunk,故在加入了大小不同的chunk时,这两个指针才会被修改。由free chunk组成的链表,当用户再次申请时从中寻找合适的chunk返回给用户。

2023-01-18 17:43:18 2168

原创 堆漏洞要点

重点:fast、unsort bin拿出来的chunk它的fd和bk会被保存 ->例题(ByteCTF/mulnote、攻防世界noleak)

2023-01-18 17:42:51 275

原创 WebAssembly

在浏览器里播放H.265需要借用Webassembly+FFmpeg,因为FFmpeg 是用 C\汇编 语言开发的所以Emscripten会很方便的配置FFmpeg。Emscripten版的ffmpeg编译:https://cloud.tencent.com/developer/article/1467813。能从C/C++等语言将代码编译到WebAssembly格式.并在浏览器中运行它们,也就是可以在Web端跑C/C++代码,后缀名为.wasm。但是项目整体还是有很大的问题,播放的h265画质会错乱。

2023-01-18 17:40:40 1879

原创 SIMD性能优化

SIMD(Single Instruction Multiple Data)是CPU硬件层面支持的用于对数据进行并行操作。原理:采用一个控制器来控制多个处理器,同时对一组数据(又称“数据向量”)中的每一个分别执行相同的操作从而实现空间上的并行性的技术它的指令集存在如下:X86下的实现为MMXSSEAVX指令集ARM下的实现为NEON指令集。

2023-01-18 17:40:19 1470

原创 认识ffmpeg编译、以及参数解释

这个工具不是特别了解,国内文章对它的解释也比较模糊,其中有一篇文章说道**“j后面的数字应该为CPU核心数的两倍”**不知道是不是准确的,至此我还特意用shell分别对16线程和无限制线程测试(我的电脑是8核心的),很明显无限制线程花费的时间要比16少的多(可能是我不太明白shell多线程和程序进程多线程的区别吧),有兴趣的可以自己研究一下。,如果只需要可执行文件,可以指定不生成这些库,但是可能程序会缺少某个库的功能。是用来给第三方软件找到 FFmpeg 静态库,动态库的安装目录的。

2023-01-18 17:38:27 1872

原创 记录一次ffmpeg编译

记录一次ffmpeg编译网上搜的linux编译都是xxxx,懒得说了不知道为什么下我使用最大量编译都无法编译出等文件夹(linux可用,手动打开注释)执行configurion+make后的发现ffmpeg报错找不到so之前没有执行make install …先不管它,遇到问题一个个解决,找到了根源就好办了在目录下用找了一下发现对于的so都在对应的模块里面编写调用ffmpeg库api的源文件:手动指定路径编译(编译是可以编译的,但是还不能运行)然后手动添加动态库路径到变量中ok,可以运行了。

2023-01-18 17:38:05 1360 2

原创 调用FFmpeg API

编译器:Apple clang version 13.0.0。环境,默认会下载到用户主目录下。linux也可以用下面脚本。使用下面脚本一键搭建。

2023-01-18 17:37:23 306

原创 编解码-性能优化-SIMD

SIMD(Single Instruction Multiple Data)是CPU硬件层面支持的用于对数据进行并行操作。原理:采用一个控制器来控制多个处理器,同时对一组数据(又称“数据向量”)中的每一个分别执行相同的操作从而实现空间上的并行性的技术它的指令集存在如下:X86下的实现为MMXSSEAVX指令集ARM下的实现为NEON指令集。

2023-01-17 15:55:20 2150

原创 一键编译+执行c语言小Demo

这里发现作者的代码有点小错误,只需要把"./$proName" 改成-> “$proName就可以了”在c编译器里面也是一个合法的注视命令,所以c编译器会过滤掉文件头部一块,从而编译成功。这里就是简单的获取需要执行编译脚本的路径,然后进行一个编译+运行操作。解释器遇到#时会将它视为单行注释,然后会正常的执行编码命令。这种方法也不错,但是需要每次都添加上述的一个头部。解释器执行,作者说了其实就是在c源代码里面执行。进行自动化执行,然后雏型就出来了。然后完善上面的问题后的脚本为。,就可以在任意目录执行了。

2022-11-26 23:11:00 1078

原创 记录一次ffmpeg编译

执行configurion+make后的发现ffmpeg报错找不到so。我暂时的解决方法是将全部so文件手动转移到一个目录下来(注意改路径)经过前面的分析最终的暂时提出下面解答方法。先不管它,遇到问题一个个解决,找到了根源就好办了。网上搜的linux编译都是xxxx,懒得说了。找了一下发现对于的so都在对应的模块里面。(编译是可以编译的,但是还不能运行)下我使用最大量编译都无法编译出。然后手动添加动态库路径到变量中。记录一次ffmpeg编译。然后就可以正常执行了。

2022-11-11 20:03:55 907

原创 adb交互-干掉难看的默认shell界面

那么如果大量时间在adb交互上工作,将会花费大量的时间在处理命令上面,甚至还得复制粘贴命令。时进入到Android系统的交互终端界面,因为Android只有一种shell解释器。甚至这个文件系统还有丰富动态库,甚至可以用来编写你的程序(这不是内嵌系统吗!就是用户的主目录,这里管理着各个用户的环境和文件,也是一款命令非常丰富的解释器,如果追求工作效率。完成后会在你的数据目录下有一套它的工具集。放入系统工具目录这样就可以方便的使用它。内嵌的工具集,当然~你也可以使用。的工具集它同样也是不错的选择。...

2022-07-21 18:37:06 1336

原创 编写Android可执行二进制文件调用so

Start

2022-07-20 22:36:56 1948

原创 使用gdb调试Android(aarch 64)可执行二进制文件

Android官方提供了调试ndk进行

2022-07-20 22:31:25 5020

函数极限与连续性-张宇老师学习笔记 包含latex 源代码以及成品PDF

函数极限与连续性-张宇老师学习笔记 包含latex 源代码以及成品PDF

2023-08-20

计算机网络学习笔记,计算机网络学习笔记,计算机网络学习笔记,计算机网络学习笔记,计算机网络学习笔记

计算机网络学习笔记,计算机网络学习笔记,计算机网络学习笔记,计算机网络学习笔记,计算机网络学习笔记

2023-07-30

jdk1.8.4*(开发专属)

jdk1.8.4*(开发专属)

2021-03-30

sm整合jar包.rar

Mybatis相关jar和Spring整合Mybatis所需jar,Spring 相关jar没有上传

2020-04-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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