

算法助手最新版是一个手机端的辅助模块应用,这款软件能够帮助大家进行一些比较复杂的操作,下面有具体的使用方法教程,软件功能还挺强大的,大家可以试试看哦。
算法助手使用教程
步骤一:激活模块
1、由于该程序是个xposed模块,所以自然是需要先激活模块,本教程默认各位看官已有Xposed环境,将不进行xposed的安装讲解。
2、这边以Lsp框架为例子,启动算法助手模块,并在作用域中勾选你要Hook的App(经典Xposed只需要直接激活模块)
3、模块激活成功后,标题信息将显示“算法助手”,若未激活,则显示红字字体“模块未激活”
Tips:(部分机型和框架,可能会出现激活后显示未激活的情况,如果您确认已经激活,可试着直接使用)
步骤二:算法助手里打开开关
1、在算法助手中,在应用列表里,选择需要Hook的app,点进去以后,将总开关打开(不打开的话,所有的配置都不生效)
2、总开关打开以后,打开需要使用的相关功能的开关,例如'弹窗定位'
3、勾选完毕以后,运行被Hook的App
4、回到算法助手,切换到日志列表,一一点进去,可以看到详细的日志信息。
Tips:(安卓11的用户,被Hook的app需要开启存储权限,且没有开启存储重定向,才能正常写出日志)
步骤三:堆栈分析与代码定位
堆栈的介绍
这个步骤,有开发经验的开发人员可以跳过,调用堆栈对于开发人员来说是再熟悉不过的了,毕竟你们敲了一整天的Bug,一跑起来全是这玩意儿对吧(手动滑稽)
在日志详细的尾部,可以看到调用堆栈,这个调用堆栈是干嘛用的?该怎么去理解他?
实际上,调用堆栈的结构是这样子的:类名.方法名(源文件名:行数)
那怎么看呢?从下往上看!!!
类1.方法1(类1.java:100)类2.方法2(类2.java:55)类3.方法3(类3.java:76)
比如这个例子:
1、首先调用了类3的方法3
2、然后调用了类2的方法2
3、最后调用了类1的方法1
那么,我们已知,在类3的方法3里调用了方法2,可是,方法3的代码可能有非常多,我怎么知道它在哪里调用了方法2呢?
那么这时候行数的重要性就显示出来了,通过行数可以看到,在类3的76行,调用了方法2
堆栈实战分析
还是刚刚的例子,弹窗定位的日志信息,一般情况下,我们只需要看最后几行就可以了
LspHooker_.makeText(Unknown Source:18)com.junge.test.MainActivity.onResume(MainActivity.java:24)android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1454)android.app.Activity.performResume(Activity.java:8050)
最后2行,是android系统类,我们用不到,也不需要去看
从前2行看,我们可以看到,在MainActivity的onResume方法里调用了makeText,通过(MainActivity.java:24),可以看出MainActivity类的24行中调用了makeText
接下来我们反编译app,验证一下,我们在smali代码中找到MainActivity类搜索.line 24
使用Jadx查看java代码,也可以看到24行调用了makeText
Tips:目前MT管理器转为java代码是无法自动识别行号的
Tips:有许多app在编译后,会抹去源文件名,以及行数信息,所以堆栈分析只能当成辅助工具,不必过度依赖,学会怎么通过代码逻辑去分析代码才是重点
进阶使用教程:自定义Hook的使用
Hook,其实可以理解为拦截函数,拦截到函数以后,你想修改返回值,或者不让他执行,都可以 。
在算法助手选择app以后,在功能列表拉到最后,有个'添加自定义'按钮,点进去以后,进入到配置界面,然后进行hook配置
package com.junge.test;import android.os.Bundle;import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public String test(String name) { return '你好:' + name; } public void onResume() { super.onResume(); Toast.makeText(this, test('张三'), 1).show(); }}
还是以这个代码为例子,进入该Activity后,会调用test函数,并传入'张三',并弹出提示,而test函数,返回的是'你好+姓名',我想通过hook,去修改它的返回值,改为'hook返回值成功',怎么做?
配置如下:
java格式:
类名:com.junge.test.MainActivity方法名:test参数类型:java.lang.String返回值:hook返回值成功
smali格式:
类名:Lcom/junge/test/MainActivity方法名:test参数类型:Ljava/lang/String;返回值:hook返回值成功
Tips:使用smali格式的时候,参数类型务填写完整,包括分号。
算法助手是什么
经常逆向安卓软件的朋友。经常需要分析各种加密算法,还有数据的sign算法,由于静态分析效率太低,起初使用的是logcat打印日志,将密文,密钥,明文,md5前的信息,MD5后的信息等信息打印出来,但是很快发现了一个问题,在数据量大的时候,密文很多,密钥也很多,打印信息太乱,经常会出现密文不知道对应哪个密钥,而且如果是动态秘钥,单纯的打印秘钥就显得没有意义了。算法助手能够将秘钥,密文,明文,联系起来,并打印出调用堆栈。使用切简单方便。喜欢逆向的朋友下载使用吧。
软件说明
算法助手是我们开发的一款运行在Android平台上的基于Xposed的安卓调试工具。用于Android软件开发和测试人员(但不限于)进行应用分析调试、安全测试和Bug分析。本应用某些场景下可能具有修改和调试应用业务逻辑的功能,如果要修改和调试第三方的应用,必须取得所属方的官方授权;如果在未授权的情况下擅自修改和调试,所造成的任何问题和责任(包括资金损失、法律风险等)均与我们无关。
新版特性
v1.0.7
支持Android14
支持运行Frida脚本
新增web算法自吐
支持通过选择函数进行Hook
Reqable联动
算法助手Pro的开关同步到Lsposed
增加注入成功提示(可在设置中关闭)
日志的调用堆栈中支持快速添加Hook
修复RSA签名数据、加密数据重复的bug
修复导出的日志中无调用堆栈的bug
其他bug修复
v1.0.0(2024.5.13)
支持Android14
BossaGames以前在2024年1月裁定了三分之一的员工,裁员后只有40人留在工作室。这一新的裁员是确保工作室的生
2025-06-27
-
做超声检查时,医生为什么要在患者肚子上涂粘粘的东西 2025-06-27
-
小米mix fold有前置摄像头吗 2025-06-27
-
绯红之境兑换码最新2021 礼包兑换码大全 2025-06-27
-
妄想山海怎么加好友 加好友方法大全 2025-06-27
-
阴阳师4月22日更新内容:帝释天上线技能调整,红莲华冕活动来袭 2025-06-27
-
天地劫幽城再临归真4-5攻略:第四章归真4-5八回合图文通关教学 2025-06-27
用户评论
最近想试试新的算法助手,听说这个版本更新了不少功能。
有20位网友表示赞同!
这个版本的算法助手看起来挺实用的,可以提升效率吧?
有10位网友表示赞同!
去官网下载还是比安卓商店安全点呢!
有16位网友表示赞同!
V9.3.3 的新功能是什么?有什么特别好用吗?
有8位网友表示赞同!
终于更新了,一直在等这个版本呢!
有7位网友表示赞同!
以前用过老版本的算法助手,这次一定要试试新的。
有19位网友表示赞同!
下载链接在哪里啊?分享一下呗!
有13位网友表示赞同!
不知道这个软件占用手机资源多吗?
有10位网友表示赞同!
期待这个官方版能解决之前版本的bug!
有18位网友表示赞同!
有使用教程吗?我感觉功能还挺复杂的。
有12位网友表示赞同!
这个算法助手适合哪些人学-或使用呢?
有13位网友表示赞同!
能不能告诉我这款软件的主要特点和优点?
有19位网友表示赞同!
我的设备支持这个版本的算法助手吗?
有8位网友表示赞同!
算法助手真的可以帮助我们做一些实际的工作吗?
有8位网友表示赞同!
这个版本支持安卓还是IOS系统?
有20位网友表示赞同!
感觉算法助手的价格不太贵啊,值得购买吗?
有11位网友表示赞同!
官方版会不会比非官方版的更稳定呢?
有8位网友表示赞同!
有人用过这个版本的软件了吗,可以分享一下使用感受吗?
有18位网友表示赞同!
这款软件的界面看起来很简洁,上手容易吧?
有5位网友表示赞同!
听说这个版本更新了人工智能功能,是不是真的可以智能化帮助我们工作啊?
有12位网友表示赞同!