传送门 : [Xposed框架]Android Hook 菜鸟入门教程二
上次论坛有人说整个流程 这次选取一个帖子来达到相同的效果,这次用的例子是这个
http://www.52pojie.cn/thread-524341-1-1.html
用Android Hook来实现
用到的工具
破解工具:Androidkiller_v1.3.1 爱盘下载: http://down.52pojie.cn/Tools/And ... idKiller_v1.3.1.zip
夜神模拟器,Xposed框架
直接窃取@leftshine 的成果 勿怪
基本上一些步骤重复 我就盗图 打开软件
这个弹出提示就是关键。
将APK拖进AndroidKiller,反编译完成后搜索“金币不足”,如图:
双击搜索结果跳到代码位置,发现其对应string name为:sos_board_error_msg,
继续搜索“sos_board_error_msg”,如下图:
双击搜索结果跳到代码位置,发现其对应标识为:0x7f0b0078,
继续搜索“0x7f0b0078”,如下图:
双击搜索结果跳到代码位置,终于找到关键代码位置!
查看一下java源码 如下
可以看到这里有个Util.getMoney()函数加之前面扣除10金币的 我们可以想到这大概就是读取金币数的
点进去看看
看到返回的是一个整形的数据 是不是金币的数目? 再来看看getSharedPreferencesInt这个函数
[Java] 纯文本查看 复制代码 private static int getSharedPreferencesInt(Context paramContext, String paramString, int paramInt)
{
return paramContext.getSharedPreferences("BEAUTY_PICK", 0).getInt(paramString, paramInt);
}
这样就知道了 这是用
Context.getSharedPreferences方法获取SharedPreferences对象,参数分别为存储的文件名和存储模式。
我们用root权限进文件管理器看看
就是这样
可以看到我hook为100然后我使用了一次为90我们修改这里也行 直接修改为这个数值也能达到效果
不过还是再用hook展示一下
这样回到刚才 我们直接hook com.jimmy.beauty.pick.Util 的的getMoney方法 参数如下:
[Java] 纯文本查看 复制代码 XC_MethodHook.Unhook andHookMethod = findAndHookMethod("com.jimmy.beauty.pick.Util", lpparam.classLoader, "getMoney" ,Context.class
, new XC_MethodHook() {
}
然后再beforeHookedMethod()里修改
[Java] 纯文本查看 复制代码 @Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(100);
}
这样每次读取的时候我们都勾住然后设置金币的值为100
效果如下
这是对Dalvik Hook的简单应用
文件打包
https://yunpan.cn/ckjGyf6GhVRkm (提取码:946d)
|