先分析关键代码

静态分析结果

这是一个boolean返回值的方法,该将用户名和注册码作为参数传进来,默认返回false。

当用户名为空时,直接返回false。

如果用户名长度不等于0且注册码不等于空且注册码长度为16位,则计算MD5。当md5值跟传进来的注册码一致时,将返回true。

我们要得到它的值,就是我们的注册码。

我们通过HOOK方法 暴力的进行注册

package da;
import android.R.string;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
///导入类
public class a implements IXposedHookLoadPackage{
///XP框架入口点
if(pparam.packageName.equals("com.qianyu.zhuceji"))
{
XposedBridge.log("已经获取程序");
XposedHelpers.findAndHookMethod(
"com.qianyu.zhuceji.MainActivity", ///包名
pparam.classLoader, //加载
"checkSN",//HOOK的方法名
String.class,//参数 普通参数直接用默认的
String.class,
new XC_MethodHook()//写入 {
@Override
///参数重写
protected void beforeHookedMethod(MethodHookParam param)
throws Throwable {
super.beforeHookedMethod(param);
XposedBridge.log("参数1"+param.args[0]);
XposedBridge.log("参数1"+param.args[1]);
param.args[0]="111111";
param.args[1]="551104357";
XposedBridge.log("参数1"+param.args[0]);
XposedBridge.log("参数1"+param.args[1]);
}
返回值重写
@Override
protected void afterHookedMethod(MethodHookParam param)
throws Throwable {
super.afterHookedMethod(param);
XposedBridge.log("返回值"+param.getResult());
param.setResult(true);
}
}
); }else {
XposedBridge.log("未找到程序");
}
} }

安卓逆向 HOOK 第二课 普通方法的HOOK的更多相关文章

  1. 20145307陈俊达_安卓逆向分析_Xposed的hook技术研究

    20145307陈俊达_安卓逆向分析_Xposed的hook技术研究 引言 其实这份我早就想写了,xposed这个东西我在安卓SDK 4.4.4的时候就在玩了,root后安装架构,起初是为了实现一些屌 ...

  2. 安卓逆向(一)--Smali基础

    安卓逆向(一)--Smali基础 标签(空格分隔): 安卓逆向 APK的组成 文件夹 作用 asset文件夹 资源目录1:asset和res都是资源目录但有所区别,见下面说明 lib文件夹 so库存放 ...

  3. 【转】安卓逆向(一)--Smali基础

    转载自吾爱破解安卓逆向入门教程 APK的组成 文件夹 作用 asset文件夹 资源目录1:asset和res都是资源目录但有所区别,见下面说明 lib文件夹 so库存放位置,一般由NDK编译得到,常见 ...

  4. CI(CodeIgniter)框架入门教程——第二课 初始MVC

    本文转载自:http://www.softeng.cn/?p=53 今天的主要内容是,使用CodeIgniter框架完整的MVC内容来做一个简单的计算器,通过这个计算器,让大家能够体会到我在第一节课中 ...

  5. OpenCV 第二课 认识图像的存储结构

    OpenCV 第二课 认识图像的存储结构 Mat Mat 类包含两部分,矩阵头和矩阵体.矩阵头包含矩阵的大小,存储方式和矩阵体存储空间的指针.因此,Mat中矩阵头的大小是固定的,矩阵体大小是不定的. ...

  6. 【第二课】深入理解Handler

    简要讲解Handler是做什么的 我们知道,在Android中,app启动会启动一个进程一个线程——UI线程,UI线程是主线程,并且不允许这个线程阻塞超过5秒,一旦超过5秒就会ANR. 所以较为耗时的 ...

  7. Spark 3000门徒第二课scala面向对象总结

    昨晚听了王家林老师3000门徒spark系列课程的第二课,讲述了scala面向对象知识,并且带着过了一遍Spark核心类:SparkContent,RDD的代码,下面写一下心得: RDD是抽象类,实现 ...

  8. 【Linux探索之旅】第二部分第二课:命令行,世界尽在掌握

    内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:“小编,你为什么每次都要起这么非主 ...

  9. 【C语言探索之旅】 第三部分第二课:SDL开发游戏之创建窗口和画布

    内容简介 1.第三部分第二课: SDL开发游戏之创建窗口和画布 2.第三部分第三课预告: SDL开发游戏之显示图像 第三部分第二课:SDL开发游戏之创建窗口和画布 在上一课中,我们对SDL这个开源库做 ...

  10. 【C语言探索之旅】 第二部分第二课:进击的指针,C语言的王牌!

    内容简介 1.课程大纲 2.第二部分第二课: 进击的指针,C语言的王牌 3.第二部分第三课预告: 数组 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言 ...

随机推荐

  1. 【面试题总结】Java并发-多线程、JUC详述(思维导图)

    〇.整体目录 一.多线程 1.实现方式 2.内存图 3.线程状态 4.实现线程同步 5.并发编程 二.JUC 1.概述与volatile关键字 2.ThreadLocal类 3.CAS方法 4.ato ...

  2. 动态SQL遇到的问题

    看图 查不出来任何数据 因为判断有问题 修改方法如下:

  3. 图解B树及C#实现(1)

    目录 前言 索引原理 局部性(Locality) 数据的局部性 内存存储和磁盘存储 磁盘存储适合的索引结构 B树简介 定义 B树中数据的有序性 用C#定义数据结构 插入数据的过程 分裂:新节点诞生的唯 ...

  4. TCP\UDP协议 socket模块

    目录 传输层主要协议 TCP协议 三次握手 TCP协议反馈机制 四次挥手 洪水攻击 UDP协议 socket模块 socket代码简介 socket.socket() server.bind() se ...

  5. 前端知识之JS(javascirpt)

    目录 JS简介 JS基础 1.注释语法 2.引入JS的多种方式 3.结束符号 变量与常量 基本数据类型 1.数字类型(Number) 2.字符类型(string) 3.布尔类型(Boolean) 4. ...

  6. python安装与初识

    一.Linux基础 - 计算机以及日后我们开发的程序防止的服务器的简单操作 二.Python开发 http://www.cnblogs.com/wupeiqi/articles/5433893.htm ...

  7. CH392/CH395常见问题解决方法指南

    CH395 问题 1: CH395 初始化失败.解答: 1.首先检查"check_exist"命令,正常情况下 CH395 会将该命令的输入值按位取反后输出,若该命令不正常,则说明 ...

  8. MongoDB6.0的安装「2023年」

    你好,我是悦创. 优质原文格式:https://bornforthis.cn/column/crawler/supplement/mongodb-install.html 点进去有惊喜. 吐槽,这篇博 ...

  9. CLISP学习(一)

    Lisp Lisp发表于1960,是由数学家约翰·麦卡锡发明的. 在计算机有所发展时,数学家们对人工智能有着极大的兴趣,觉得可以实现一个共通的方法,使计算机能够处理链表中的符号数据,允许语言的处理.信 ...

  10. python之路22 hashlib、subprocess、logging模块

    hashlib加密模块 hashlib模块为不同的安全哈希/安全散列(Secure Hash Algorithm)和 信息摘要算法(Message Digest Algorithm)实现了一个公共的. ...