算法助手是一款运行在Android平台上基于Xposed的安卓调试工具,配合Xposed(需要Root或者沙盒环境),通过一系列反射操作,进行应用的安全测试,调试分析,代码定位,是一款不错的调试工具。
算法助手做最优秀的调试工具,用于Android软件开发和测试人员(但不限于)进行应用分析调试、安全测试和Bug分析。本应用某些场景下可能具有修改和调试应用业务逻辑的功能,如果要修改和调试第三方的应用,必须取得所属方的官方授权;如果在未授权的情况下擅自修改和调试,所造成的任何问题和责任(包括资金损失、法律风险等)均与我们无关。
由于app更新,数据库添加了新的字段,导致老用户更新后无法加载日志,搜索日志报错,解决方案为:回到首页>滑动切换到日志面板>长按日志>删除日志。
删除后即可正常使用。
1、Md5,Sha等信息摘要算法(MessageDigest类)
2、AES、DES,RSA等秘钥算法(Cipher类)
3、Hmac等含有秘钥的哈希算法(Mac类)
4、对话框的定位(Dialog类)
5、Log捕获(LOG类)
7、拦截程序退出(System以及其他类)
8、justTrustMe升级版(可高效自动定位混淆后的okhttp)
9、文件访问记录(File类)
10、自定义Hook,可自行定义hook类,可设置返回值,可拦截执行
11、webViewDebug(使webView可调试)
12、shell命令行纪录
13、……后续会不断进行增加
一、勾选目标应用
打开应用后,要先选择你要hook的目标应用,可借助右上角的搜索快速定位,如果要hook系统应用则需左滑,勾选显示系统应用
二、打开目标应用
1.正如开关界面所说,目标一样必须开启储存权限,如果软件没有权限的话,要自己在AndroidManifest.xml添加一下权限代码,后续版本会免去这个步骤。(另外Lsp框架的用户也需要在作用域里勾选上要hook的应用。)这一步很关键,如果没有开启是无法获取到日志的!!!
PS:开了存储重定向的话,被hook的app,和算法助手,都需要关掉存储重定向!!!
<!-- 修改或删除您的USB存储设备中的内容 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
三、查看结果
打开软件触发你要分析的功能(如果是要分析协议就打开aes、des、md5的开关,如果是要定位弹窗就开对话框显示,这里有个小bug,下个版本会修复,总之想要干嘛就开对应的开关),接着回到算法助手点击日志进行查看,这里我们触发了一个aes的算法,可以很明显的看到key和iv以及原本的内容,在最下面还有堆栈调用。
进阶应用
1.以上只是列举了其中一个功能,其他的功能都是大同小异,下面来讲讲自定义Hook这个功能。这个其实跟learnhook、mhook的操作是一样,鉴于一部分人可能没用过,我这里就简单的说一下,因为暂时没啥案例,我就直接照着一段代码讲,思路明白了就可以了。
代码如下:
.class public Lcom/bean/VipInfo; //类名,这个一般在类中的最顶端
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public end_date:Ljava/lang/String;
.method public isVip()Z isvip是方法名,后面的()里可能会有参数,例如:I,Ljava/lang/String; 有就填没有就不填。Z是返回值的类型,算法助手自动判断无需填写
.registers 4
iget-object v0, p0, Lcom/bean/VipInfo;->end_date:Ljava/lang/String;
invoke-static {v0}, Lcom/utils/StringUtils;->isEmpty(Ljava/lang/String;)Z
move-result v0
return v0
.end method
2.假设你已经定位到这个关键方法,只要赋值1就可以破解了,那么碰巧这个软件有签名校验,而你又搞不定,这种时候就需要xposed的hook功能了。
3.复制方法中的几个关键字:Lcom/bean/VipInfo; 和isVip
4.回到算法助手,点击你要hook的软件,打开自定义hook,依次填写(下个版本会兼容java和smali两种格式)
5.最后点击下方的添加就完成了一个自定义的hook
6.另外下方还有两个勾选框,拦截执行:顾名思义就是不让某个方法执行,这个我很少用到,如果有什么骚操作,欢迎补充。
7.另一个则是构造函数,这里介绍一下构造函数的意思:就是函数名与类名相同,无返回值,分有有参和无参构造函数。其中的参数就是hook区别的关键。
版本:2.1
功能没变,只是美化
版本:1.9
优化功能:
1、修复了自定义hook部分函数无hook的问题
2、修复了对android11的兼容性问
3、修复toast定位失效问题。
4、新增公告功能,重要通知随时远程通知用户
版本:1.8
新增功能:
1、新增Assets资源读取监听。
2、弹窗定位新增PopupWindow
3、新增数据库操作监听
5、新增读取应用签名监听
6、搜索结果进行高亮显示
7、自定义hook支持使用*通配符
优化功能:
1、日志列表分页读取,避免日志量大造成卡顿
2、自定义Hook界面可整个界面进行滑动、避免hook列表展示不全
3、修复了一些奇奇怪怪的BUG,我也忘了还优化了些什么。。。。
小编简评:世界计划缤
下载 AI灵魂画师app最新版 25.8M /小编简评:AI灵魂画师
下载 重返未来1999官方最新版 1.78G /小编简评:重返未来19
下载 大视界影视最新版 11.1M /小编简评:大视界影视
下载 滴滴动漫最新版本(嘀嘀动漫) 10.3M /小编简评:滴滴动漫最
下载 万界英雄(GM神话买断抵扣)最新版 752.8M /小编简评:万界英雄(G
下载 永劫无间助手工具app(Naraka+) 143.5M /小编简评:永劫无间助
下载 kola任务助手 31.5M /小编简评:kola任务助
下载 Jump气泡英雄下载最新版 99.6M /小编简评:跳跃益智角
网友评论
支持( 0 ) 盖楼(回复)