烦恼一般都是想太多了。

0%

缘由是有伙计让我帮他下歌,问题是也太多了,当前很多站都无法下载了,其实不是不能,而是不能直接下载了。而且他提过来的是一大串,还好,是在一个网页上。所以就想着弄个简单的脚本来解析一下歌曲信息,然后利用现成的工具来下载。

Read more »

话说 Docker 使用了一种 union FS 的分层文件系统,理解这个,是制作镜像和存储的关键,所以就一下官方文档的说明。 Docker 新的使用的是 overlay2 这个了。需要在一定的 Linux 内核上才能运行。

Read more »

从 Retrofit/OkHttp 中的依赖而来,其封装 的一些IO操作,其里面有两个关键的概念 source, sink ,这两个概念我在 Lua 中也看到,典型的是 ltn12,source 是源, sink 是终点的意思,可以将其看做是输出。

Read more »

函数 Hooking 指的是一系列的在运行时用来拦截和改变已存函数行为的技术。本节使用动态加载API来演示一个进行 Hooking 的办法,主要是利用了 LD_PRELOAD 环境变量。LD_PRELOAD环境变量用来指定一个首先被加载器加载的共享库。先加载我们自己的共享库就能使我们拦截函数调用,接着我们就可以使用动态加载器的API来将原始的函数绑定到一个 函数指针,之后继续调用这个函数指针。也就是说对原来的函数做了一个包装。

Read more »

Riru 使用替换系统共享库 libmemtrack.so 来实现注入,因为 ptrace 一般来说都会被进程进行检测,所以说注入系统进程是比较轻松的一点。

Read more »

是从追踪 InputManagerServer 的注入输入事件开始的过程。我们在之前的 中看到,这个类并没有检查权限,但是为什么会提示权限不够违例呢。事实上就是其在 native 层进行检查

Read more »