吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 18630|回复: 276
上一主题 下一主题
收起左侧

[Android 原创] 《安卓逆向这档事》七、Sorry,会Hook真的可以为所欲为-Xposed快速上手(上)模块编..

    [复制链接]
跳转到指定楼层
楼主
正己 发表于 2023-2-2 08:38 回帖奖励
本帖最后由 正己 于 2023-10-10 18:50 编辑

一、课程目标


1.了解Xposed原理及发展
2.从0到1编写xposed模块
3.配置ubuntu的逆向环境
4.了解xposed的常用Api

二、工具


1.教程Demo(更新)
2.jadx-gui
3.雷电模拟器
4.vmware
5.Android Studio

三、课程内容


1.什么是Xposed?

Xposed是一款可以在不修改APK的情况下影响程序运行的框架,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。在这个框架下,我们可以编写并加载自己编写的插件APP,实现对目标apk的注入拦截等。

2.Xposed原理

用自己实现的app_process替换掉了系统原本提供的app_process,加载一个额外的jar包,入口从原来的:  com.android.internal.osZygoteInit.main()被替换成了:  de.robv.android.xposed.XposedBridge.main()
创建的Zygote进程就变成Hook的Zygote进程了,从而完成对zygote进程及其创建的Dalvik/ART虚拟机的劫持(zytoge注入)

3.Xposed的发展及免root框架

名称 地址 支持版本 是否免root
xposed https://github.com/rovo89/Xposed 2.3-8.1
EDXposed https://github.com/ElderDrivers/EdXposed 8.0-10
LSPosed https://github.com/LSPosed/LSPosed 8.1-13
VirtualXposed https://github.com/android-hacker/VirtualXposed 5.0-10.0
太极 https://www.coolapk.com/apk/me.weishu.exp 5.0-13
两仪 https://www.coolapk.com/apk/io.twoyi 8.1-13
天鉴 https://github.com/Katana-Official/SPatch-Update 6-10

4.Xposed可以做什么?

1.修改app布局:上帝模式
2.劫持数据,修改参数值、返回值、主动调用等。例:微信防撤回、步数修改、一键新机
应用变量


3.自动化操作,例:微信抢红包

学习项目:


2022 最好的Xposed模块: GravityBox, Pixelify, XPrivacyLua
基于Xposed的抖音爬虫,抖音风控后自动一键新机,模拟一个全新的运行环境
基于xposed的frida持久化方案
A Xposed Module for Android Penetration Test, with NanoHttpd.
GravityBox
Xposed-Modules-Repo]
一个旨在使QQ变得更好用的开源Xposed模块
杜比大喇叭
知乎去广告Xposed模块
哔哩漫游
曲境
自动化创建Xposed模块及钩子,让Xposed模块编写时只需关注钩子实现

5.Xposed环境配置

前置

ubuntu虚拟机镜像,感谢沐阳哥提供的镜像!!!
内置:

  • Frida开发环境
  • 动态分析及开发工具:android-studio
  • 动态分析工具:ddms
  • 静态分析工具:jadx1.4.4
  • 动静态分析工具:jeb
  • 动态分析工具:集成HyperPwn
  • 静态分析工具:010 editor
  • 抓包工具:Charles
  • 抓包工具:WireShark
  • 动态分析工具:unidbg

vm虚拟机:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
(或下载我打包好的)
激活码自行百度哦

第一步,安装虚拟机调整路径,输入激活码

第二步,导入镜像,文件->打开->选择解压好的镜像

第三步,点击运行,待初始化,输入密码:toor


1.Android Studio创建新项目
2.将下载的xposedBridgeApi.jar包拖进libs文件夹
3.右击jar包,选择add as library
4.修改xml文件配置

<!-- 是否是xposed模块,xposed根据这个来判断是否是模块 -->
<meta-data
    android:name="xposedmodule"
    android:value="true" />
<!-- 模块描述,显示在xposed模块列表那里第二行 -->
<meta-data
    android:name="xposeddescription"
    android:value="这是一个Xposed模块" />
<!-- 最低xposed版本号(lib文件名可知) -->
<meta-data
    android:name="xposedminversion"
    android:value="89" />

5.修改build.gradle,将此处修改为compileOnly 默认的是implementation

implementation 使用该方式依赖的库将会参与编译和打包
compileOnly 只在编译时有效,不会参与打包

6.新建-->Folder-->Assets Folder,创建xposed_init(不要后缀名):只有一行代码,就是说明入口类
7.新建Hook类,实现IXposedHookLoadPackage接口,然后在handleLoadPackage函数内编写Hook逻辑

import de.robv.android.xposed.IXposedHookLoadPackage; 
import de.robv.android.xposed.callbacks.XC_LoadPackage;

public class Hook implements IXposedHookLoadPackage {
    @Override
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {

    }
}

继承了IXposedHookLoadPackag便拥有了hook的能力

6.Xpoosed常用API

An efficient Hook API and Xposed Module solution built in Kotlin

1.Hook普通方法

修改返回值

XposedHelpers.findAndHookMethod("com.zj.wuaipojie.Demo", loadPackageParam.classLoader, "a", String.class, new XC_MethodHook() {
    @Override
    protected void afterHookedMethod(MethodHookParam param) throws Throwable {
        super.afterHookedMethod(param);
        param.setResult(999);
    }
});

修改参数

XposedHelpers.findAndHookMethod("com.zj.wuaipojie.Demo", loadPackageParam.classLoader, "a", String.class, new XC_MethodHook() {
    @Override
    protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
        super.beforeHookedMethod(param);
        String a = "pt";
        param.args[0] = a;    }
});

2.Hook复杂&自定义参数

Class a = loadPackageParam.classLoader.loadClass("类名");
XposedBridge.hookAllMethods(a, "方法名", new XC_MethodHook() {
    @Override
    protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
        super.beforeHookedMethod(param);

        }
});

3.Hook替换函数

Class a = classLoader.loadClass("类名")
XposedBridge.hookAllMethods(a,"方法名",new XC_MethodReplacement() {  
    home.php?mod=space&uid=1892347  
    protected Object replaceHookedMethod(MethodHookParam methodHookParam) throws Throwable {  
        return "";  
    }  
});

4.Hook加固通杀

XposedHelpers.findAndHookMethod(Application.class, "attach", Context.class, new XC_MethodHook() {  
    @Override  
    protected void afterHookedMethod(MethodHookParam param) throws Throwable {  
        Context context = (Context) param.args[0];  
        ClassLoader classLoader = context.getClassLoader();
        //hook逻辑在这里面写  
    }  
});

四、课后小作业


写一个xposed模块去修改上节课smali相关学习里的方法,并修改参数以及返回值

五、答疑


待更新

六、视频及课件地址


百度云
阿里云
哔哩哔哩
PS:解压密码都是52pj,阿里云由于不能分享压缩包,所以下载exe文件,双击自解压

七、其他章节


《安卓逆向这档事》一、模拟器环境搭建
《安卓逆向这档事》二、初识APK文件结构、双开、汉化、基础修改
《安卓逆向这档事》三、初识smail,vip终结者
《安卓逆向这档事》四、恭喜你获得广告&弹窗静默卡
《安卓逆向这档事》五、1000-7=?&动态调试&Log插桩
《安卓逆向这档事》六、校验的N次方-签名校验对抗、PM代{过}{滤}理、IO重定向

八、参考文档


[原创]源码编译(2)——Xopsed源码编译详解
[原创]Xposed Hook技巧,代{过}{滤}理abstract
[原创]Xposed callMethod 如何传入接口参数

免费评分

参与人数 90威望 +1 吾爱币 +122 热心值 +82 收起 理由
PRfectDD + 1 + 1 我很赞同!
lwt198888 + 1 + 1 谢谢@Thanks!
niceqiezi + 1 + 1 用心讨论,共获提升!
jiaohao + 1 我很赞同!
haozhupeiqi + 1 + 1 用心讨论,共获提升!
franklizz + 1 热心回复!
dixiu + 1 + 1 谢谢@Thanks!
jxhuangwei + 1 + 1 谢谢@Thanks!
PinkTT + 1 + 1 我很赞同!
Jerry_bean + 1 + 1 用心讨论,共获提升!
zhugedafashi + 1 + 1 鼓励转贴优秀软件安全工具和文档!
icepyb + 1 谢谢@Thanks!
LineCat + 1 + 1 谢谢@Thanks!
bzdimsorry + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
hkhkhk + 1 + 1 谢谢@Thanks!
m2kar + 1 用心讨论,共获提升!
业余小徐 + 1 + 1 我很赞同!
dbv2pj + 1 + 1 用心讨论,共获提升!
xiaomin86 + 1 + 1 谢谢@Thanks!
TQl麒麟 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
liuxiaoxin + 1 + 1 谢谢@Thanks!
Promisess + 1 谢谢@Thanks!
junjia215 + 1 + 1 谢谢@Thanks!
Lsygood + 1 + 1 用心讨论,共获提升!
breezehan + 1 + 1 谢谢@Thanks!
importhis + 1 + 1 我很赞同!
牧尘凉凉 + 1 + 1 热心回复!
weixu + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ichiban123 + 1 我很赞同!
zhangxu888 + 1 + 1 用心讨论,共获提升!
kuiur0810 + 1 + 1 我很赞同!
芽衣 + 3 + 1 用心讨论,共获提升!
z0eey + 1 + 1 谢谢@Thanks!
rnadow + 1 学习了
a657938016 + 1 + 1 我很赞同!
1.shui + 2 + 1 谢谢@Thanks!
潇洒哥er + 1 用心讨论,共获提升!
9违D温柔 + 1 + 1 热心回复!
Cherry33 + 1 用心讨论,共获提升!
1120813330 + 1 用心讨论,共获提升!
hwh425 + 1 热心回复!
wenrow + 1 + 1 用心讨论,共获提升!
安道尔的鱼 + 1 + 1 热心回复!
h07799486 + 1 + 1 谢谢@Thanks!
2016976438 + 1 + 1 我很赞同!
luochunyan + 1 + 1 谢谢@Thanks!
alanhays + 1 + 1 我很赞同!
hbzjhg + 1 我很赞同!
edge + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
努力的小七 + 1 + 1 我很赞同!
放手一搏09 + 1 + 1 用心讨论,共获提升!
露珠闪闪 + 1 + 1 用心讨论,共获提升!
丶贤之 + 1 谢谢@Thanks!
hzr121792 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
gzhi521 + 1 + 1 好快啊,才学到第五课,新年红包中级的还没领到
一夜梦惊人 + 2 + 1 用心讨论,共获提升!
52菜鸟 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Chenda1 + 1 + 1 无脑给币就对了
Tianchengo + 1 谢谢@Thanks!
小菜鸟一枚 + 1 + 1 谢谢@Thanks!
zuiai125520 + 2 + 1 我很赞同!
13077535368 + 1 谢谢@Thanks!
笙若 + 1 + 1 谢谢@Thanks!
root000001 + 1 谢谢@Thanks!
King1993 + 1 + 1 谢谢@Thanks!
jinyi666 + 1 + 1 谢谢@Thanks!
156608225 + 1 + 1 用心讨论,共获提升!
yyb414 + 1 + 1 热心回复!
wwb66668 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Tonyha7 + 2 + 1 终于更新了
aa5516875 + 1 + 1 用心讨论,共获提升!
努力加载中 + 1 + 1 热心回复!
jafck + 1 + 1 断跟了3集,晚上打算一起看完他们。谢谢楼主。
mazh369 + 1 我很赞同!
愚无尽 + 1 + 1 我很赞同!
gunxsword + 1 + 1 谢谢@Thanks!
chuanyuehuoxian + 1 + 1 热心回复!
Vmoon + 1 + 1 用心讨论,共获提升!
1054114709 + 1 + 1 我很赞同!
allspark + 1 + 1 用心讨论,共获提升!
eleven2026 + 1 + 1 谢谢@Thanks!
debug_cat + 1 + 1 用心讨论,共获提升!
GenW + 16 + 1 黑米cb太抠门了,鼓励优秀原创教程
凡若尘曦 + 1 + 1 用心讨论,共获提升!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zhufengwan + 1 + 1 用心讨论,共获提升!
BlackCaesar + 1 + 1 谢谢@Thanks!
偶尔.c + 2 + 1 用心讨论,共获提升!
kentish + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
winshaw + 1 哇哦~~支持一波~~

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
 楼主| 正己 发表于 2024-1-12 22:02 |楼主
lwt198888 发表于 2024-1-11 19:24
@正己   大神,课程里面大神用了真机,但是这里虚拟机ubuntu怎么连主机里面的雷电模拟器啊,这里没说,还是 ...

可以通过桥接,百度一下,网上有教程
推荐
不知道改成啥 发表于 2023-2-2 08:56
推荐
 楼主| 正己 发表于 2023-2-2 08:39 |楼主
推荐
 楼主| 正己 发表于 2024-2-14 14:56 |楼主
HandSonic 发表于 2024-2-14 14:52
大佬,有加固hook直接闪退怎么破呀

拦截闪退的代码

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
HandSonic + 1 + 1 热心回复!

查看全部评分

4#
a976606645 发表于 2023-2-2 08:47
前排支持
5#
偶尔.c 发表于 2023-2-2 08:51
下一集有没有预告
6#
GYB6 发表于 2023-2-2 09:00
支持支持
7#
klxn0-0 发表于 2023-2-2 09:04
正好在学,跟着深入了
8#
201811094222 发表于 2023-2-2 09:18
太好了 真的太好了
9#
debug_cat 发表于 2023-2-2 09:18
快进到魔改Xposed移除特征内置到系统
10#
not2die 发表于 2023-2-2 09:22
谢谢正己大佬
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-27 11:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表