一种inlineHook检测方案 - luoyesiqiu 博客园_luoyesiqiu 1 year 9 months ago inlinehook是修改内存中的机器码来实现hook的方式 luoyesiqiu
Android类加载流程 - luoyesiqiu 博客园_luoyesiqiu 2 years ago 背景 由于前前前阵子写了个壳,得去了解类的加载流程,当时记了一些潦草的笔记。这几天把这些东西简单梳理了一下,本文分析的代码基于Android8.1.0源码。 流程分析 从loadClass开始,我们来看下Android中类加载的流程 /libcore/ojluni/src/main/java/jav luoyesiqiu
文件重定位简单实现和对抗 - luoyesiqiu 博客园_luoyesiqiu 2 years 1 month ago 文件重定向是一个文件重定位到另外一个文件。重定向后,当一个文件的发生打开,读写这些行为,就会变成另外一个文件的打开,读写。 文件重定向多用于过风控,改机,多开等场景中。 实现 作为实现重定向的一方,有许多实现方式,下面的例子是用frida脚本hook libc.so下的open函数,在open函数被 luoyesiqiu
Android函数抽取壳的实现 - luoyesiqiu 博客园_luoyesiqiu 2 years 9 months ago 函数抽取壳这个词不知道从哪起源的,但我理解的函数抽取壳是那种将dex文件中的函数代码给nop,然后在运行时再把字节码给填回dex的这么一种壳。 luoyesiqiu
抓包,反抓包,反反抓包 - luoyesiqiu 博客园_luoyesiqiu 2 years 11 months ago 前言 当年还在学校的时候,就接触到了抓包,当时还在贴吧写了一篇小白文来误导小白(不是。但当时的自己还没接触到逆向,竟然对抓包没有提起兴趣,说到底又是太年轻,不懂事。时至今日,才发现它是安全人员必须要掌握的基本技能,面试安全岗位也多多少会问到与抓包相关的知识。抓包(packet capture)是查看 luoyesiqiu
使用Magisk+riru实现全局改机 - luoyesiqiu 博客园_luoyesiqiu 2 years 11 months ago 前言 提到全局改机,我们想到修改的不是修改Android源码就是利用Xposed改机,前者成本太高,后者只能修改Java层的数据不够彻底。magisk是Android平台上功能强大的工具,利用它可以随心所欲的修改系统。它或许帮我们在不修改系统源码的情况实现相对完美的改机。那么,riru是什么?它和m luoyesiqiu
我写了一个简单的JSON序列化和反序列化的工具 - luoyesiqiu 博客园_luoyesiqiu 3 years 5 months ago 背景 互联网上有许多可用的Json序列化和反序列化的工具,例如fastjson,jackson,Gson等等,那么,我为什么还要自己写一个? 项目不方便依赖其他第三方库。比如有时候我们编写SDK,考虑到SDK体积和用户可能重复依赖而不依赖第三方库 自己想写 介绍 这个项目被我取名为Lson,意为Lu luoyesiqiu
Android FART脱壳机流程分析 - luoyesiqiu 博客园_luoyesiqiu 3 years 10 months ago FART脱壳机理论上来讲能脱大多数壳,但是仍有例外,需要自行摸索 luoyesiqiu
修复FART dump下来的dex - luoyesiqiu 博客园_luoyesiqiu 4 years ago 在使用脱壳机对Android App脱壳的时候,我们常常会得到有nop指令填充的函数的dex,nop是No Operation的缩写,意为无操作。 luoyesiqiu
Android微信逆向--实现发朋友圈动态 - luoyesiqiu 博客园_luoyesiqiu 4 years 7 months ago 最近一直在研究Windows逆向的东西,想着快要把Android给遗忘了。所以就想利用工作之余来研究Android相关的技术,来保持对Android热情。调用微信代码来发送朋友圈动态一直是自己想实现的东西,研究了一下,果然实现了,遂写下本文当作记录。本文主要分析发送纯文字朋友圈动态和发送图片朋友圈动态。 luoyesiqiu
PC微信逆向--实现消息防撤回 - luoyesiqiu 博客园_luoyesiqiu 4 years 8 months ago 自从聊天软件消息撤回功能问世后,对于撤回的消息,我们对它一直有种强烈的好奇感。“Ta刚撤回了什么?是骂我的话?还是说喜欢我?还是把发给其他人的消息误发给了我?好气呀,都看不到了...”这是我们看到消息被撤回后的内心独白。但是今天,看完了本篇文章你就可以说: 我们看一下效果图,撤回的消息被我们看到了, luoyesiqiu
inline hook原理(x86平台实现) - luoyesiqiu 博客园_luoyesiqiu 4 years 8 months ago 概念 inline hook是一种通过修改机器码的方式来实现hook的技术。 原理 对于正常执行的程序,它的函数调用流程大概是这样的: 0x1000地址的call指令执行后跳转到0x3000地址处执行,执行完毕后再返回执行call指令的下一条指令。 我们在hook的时候,可能会读取或者修改call指 luoyesiqiu
Windows dll注入 - luoyesiqiu 博客园_luoyesiqiu 4 years 9 months ago 概念 DLL注入(英语:DLL injection)是一种计算机编程技术,它可以强行使另一个进程加载一个动态链接库以在其地址空间内运行指定代码[1]。在Windows操作系统上,每个进程都有独立的进程空间,即一个进程是无法直接操作另一个进程的数据的(事实上,不仅Windows,许多操作系统也是如此) luoyesiqiu
Android获取ROOT权限的通用方法 - luoyesiqiu 博客园_luoyesiqiu 4 years 10 months ago 背景 自从Android问世以后,给手机获取ROOT权限变成了玩机爱好者老生常谈的话题。拥有手机,却不能拥有操作手机的最高权限,这对于手机爱好者而言,这怎么可以忍?所以无论Android升到什么什么版本,总要有人想要给手机获取ROOT权限。但是,获取ROOT权限的过程终究还是麻烦的,纵然你豪情万丈, luoyesiqiu
Android odex,oat文件的反编译,回编译 - luoyesiqiu 博客园_luoyesiqiu 4 years 11 months ago 现在,许多Android手机的ROM包在生成过程中都启用优化,把jar文件抽空,生成odex和vdex文件,以在运行时省掉编译时间。如果想对这些jar进行修改,就要修改它们所对应的odex文件。 luoyesiqiu
盘点那些适配Linux的国产常用软件 - luoyesiqiu 博客园_luoyesiqiu 5 years ago 前几天,10月24日,在这个程序员的节日里,腾讯时隔十一年,更新了QQ for Linux。瞬间,各大技术论坛,群聊,关于Linux的新QQ的话题不断。为什么QQ这么多年不更新QQ for Linux?在我看来,Linux用户太少,是它不继续更新的主要原因,维护这么少人用的软件实在是令人提不起动力。 luoyesiqiu
Hook Java API以获得MD5计算前数据 - luoyesiqiu 博客园_luoyesiqiu 5 years 1 month ago 介绍 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。[1] 有些人把MD5列为加密算法,这其实是不正确的,因为MD5计算本身就是不可逆的 luoyesiqiu
修改Android源码实现原生应用双开,应用多开 - luoyesiqiu 博客园_luoyesiqiu 5 years 2 months ago 1. 准备 把某系统双开的两个app的信息进行对比 1.1 目录的对比 1.1.1 data目录对比 原应用: 被复制的应用: 1.1.2 apk所在目录对比 原应用: 被复制的应用: 通过对比apk安装目录和数据目录,我们可以知道,该系统的双开是 共用同一个apk ,但是却拥有 独立的数据目录 。 luoyesiqiu
让终端更好看--Ubuntu OhMyZsh配置指南 - luoyesiqiu 博客园_luoyesiqiu 5 years 2 months ago 查看shell列表 如果发现没有zsh就安装 安装zsh 设置默认shell 重启主机 查看当前默认shell 确认zsh是否为默认shell 安装oh my zsh 安装zsh syntax highlighting插件 安装字体 oh my zsh会有许多符号来美化终端界面,所以安装一些支持多样 luoyesiqiu
Xposed反射字段流程分析 - luoyesiqiu 博客园_luoyesiqiu 5 years 2 months ago 在 "XposedBridge源码" 中,反射字段的方法封装在 类里面.下面来看看Xposed是如何获取和设置字段的值的 获取字段的值 获取字段的值有许多个方法,有获取基本类型字段的值的方法(getIntField,getLongField,getDoubleField...),也有获取对象类型字段 luoyesiqiu