Frida HOOK微信实现骰子作弊
由于微信摇骰子的功能在本地进行随机后在发送,所以存在可以hook掉判断骰子数的方法进行修改作弊。
1.frida实现hook java层函数
1)写个用来测试的demo,当我们点击按钮的时候会弹出窗口显示数字。代码中我是传进的参数是4,显示为8。
package com.example.fridatest;import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.Toast; import android.os.Build;public class MainActivity extends Activity {Button myButton1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.fragment_main);myButton1 = (Button) findViewById(R.id.button1);myButton1.setOnClickListener( new ButtonClick());}class ButtonClick implements OnClickListener {public void onClick(View v) {switch (v.getId()) {case R.id.button1:int nRet = test(4);String strRet = nRet + "";Toast.makeText(MainActivity.this, strRet,Toast.LENGTH_LONG).show();break;default:break;}}}public int test(int num){int nRet = num*2;return nRet;} }
2)运行结果。
2.连接手机,运行脚本。
1)启动frida-server
2)adb forward tcp:27042 tcp:27042
3)执行脚本。
import frida import sysscr = """ Java.perform(function () { var be= Java.use("com.example.fridatest.MainActivity"); send(typeof(be)); send(typeof(be.test)); send("start") be.test.implementation = function(){var type = arguments[0];send("start")send("type="+type);if (type == 4){return this.test(5);}else{return 5;}}; send("end") }); """rdev = frida.get_usb_device(20) session = rdev.attach("com.example.fridatest") script = session.create_script(scr)fp = open("D:/log.txt","w") def on_message(message, data):type = message["type"]msg = messageif type == "send":msg = message["payload"]elif type == 'error':msg = message['stack'] print(msg) script.on('message', on_message) script.load() sys.stdin.read()
4)再次点击,可以看到hook成功,能获取到传入的参数以及修改后界面显示成我们hook修改过后的数值。
3.修改微信骰子的判断函数。
参考网上的文章定位最新版的判断函数为com.tencent.mm.sdk.platformtools.be类的tx函数。(Randon函数)
1)编写hook代码修改实现作弊每次骰子都是6。
主要函数
scr = """ Java.perform(function () { var be= Java.use("com.tencent.mm.sdk.platformtools.be"); send(typeof(be)); send(typeof(be.tx)); send("start") be.tx.implementation = function(){var type = arguments[0];send("start")send("type="+type);return 5; }; send("end") }); """
2)实现每次都能获取到6的结果。
ps:试过了的手机,发现4.x版本的root的最为稳定。(红米note,华为3c),坑爹三星系列的都不成功。
参考:http://www.voidcn.com/blog/autohacker/article/p-4979253.html
:https://github.com/JAYAndroid/WeChatHook
转载于:https://www.cnblogs.com/konf/p/5998785.html
Frida HOOK微信实现骰子作弊相关推荐
- 逆向微信------给微信加上控件之骰子作弊
严重声明 本文的意图只有一个就是通过分析app学习更多的逆向技术,如果有人利用本文知识和技术进行非法操作进行牟利,带来的任何法律责任都将由操作者本人承担,和本文作者无任何关系,最终还是希望大家能够秉着 ...
- 安卓Hook微信-计步器、万能骰子、自动回复、反撤回、抢红包思路分享
此篇博客仅实现的思路分享,不提供最终成品 目录 学完你能收获什么 要求 前置条件 运行环境 成果 最终效果 开发耗时 最终Hook的类 实现 需知 1.选择root或VA 2.反编译代码工具 3.YA ...
- python xposed_GitHub - twqdev/CPWechatXposed: 使用Xposed Hook微信等APP
使用Xposed Hook微信等APP CPWechatXposed 是笔者折腾Xposed插件的一些记录,Xposed通过Hook应用相关的方法来为应用添加一些附加的 功能.本项目仅用于技术研究学习 ...
- 用hook android 微信,【第一篇】【安卓微信】HOOK微信发消息,当HOOK遇上HOOK。
前人栽树,后人吃桃. 准备入坑 安卓 xposed hook 微信(及时通信),好吧,第一步当然是论坛里面搜索啦,像掷骰子.计步器什么的都是小孩子过家家入门级别的,当然是要搞就搞(及时通信).微信 a ...
- Android挂逼修炼之行---微信摇骰子和猜拳作弊器原理解析
一.前言 在之前的一篇文章中我们已经详细介绍了Android中Hook工作的一款神器Xposed工具:Xposed框架原理解析和使用案例分析 在那一篇文章中我们介绍了如何安装Xposed框架,以及如何 ...
- Android”挂逼”修炼之行—微信摇骰子和猜拳作弊器原理解析
.猜想假设 本文就借助之前的Xposed框架来介绍如何编写微信的一个外挂功能,这个功能就是微信摇色子和剪刀石头布的作弊器,我们用过微信这个功能都知道,是一个比较常用的功能,因为在一个群聊中会很无聊就来 ...
- Android挂逼修炼之行---微信摇骰子和猜拳作弊器原理解析 (转载)
该文章是我觉得当中的逆向方式以及使用工具的方式非常值得学习,转载只为记录下来,若侵则删. 一.前言 在之前的一篇文章中我们已经详细介绍了Android中Hook工作的一款神器Xposed工具:Xpos ...
- Java可以hook微信吗,【第一篇】【安卓微信】HOOK微信发消息,当HOOK遇上HOOK。
前人栽树,后人吃桃. 准备入坑 安卓 xposed hook 微信(及时通信),好吧,第一步当然是论坛里面搜索啦,像掷骰子.计步器什么的都是小孩子过家家入门级别的,当然是要搞就搞(及时通信).微信 a ...
- android微信二维码收款hook,【第一篇】【安卓微信】HOOK微信发消息,当HOOK遇上HOOK。...
前人栽树,后人吃桃. 准备入坑 安卓 xposed hook 微信(及时通信),好吧,第一步当然是论坛里面搜索啦,像掷骰子.计步器什么的都是小孩子过家家入门级别的,当然是要搞就搞(及时通信).微信 a ...
最新文章
- 改变从内部开始:开发者与管理者的协作
- BUUCTF(misc)变异凯撒 --二
- 互联网产品研发的典型流程
- python 空指针_Python&CType空指针错误
- location 拦截所有_电脑广告拦截软件 Adguard Premium
- excel中如何添加下拉选择框
- 有效利用ASP.NET用户控件的事件委托
- jmeter笔记02
- 查看电脑端口占用情况
- Joost-体验全球的视频节目
- 【Python实现】运输问题的表上作业法(二):利用位势法判断当前解的最优性
- eda技术试卷_EDA技术试题库-试题库
- matlab神经网络训练精度,关于提高MATLAB神经网络精度的问题
- 2012移动互联网之人在囧途
- 芯片封装形式(网上到处找的)
- RTC电池供电时二极管选择注意
- 黑客用我们服务器挖矿了
- [安装fastfds中的nginx执行make命令报错]src/core/ngx_murmurhash.c:37:11: error
- 一个能够屏蔽百度广告的爬虫:BaiduSpider
- 让程序员“#*...%#{4*”的瞬间:你是修电脑的吧?
热门文章
- 2018 CCSP 杭州之行
- html中index是什么作用,js中index是什么意思
- 用python去换行符
- 【Mac】macOS无法验证此App不包含恶意软件 解决方法
- JMSCorrelationID 艹草艹
- 无线高级设置服务器,tplink无线路由器无线高级设置里面的参数怎样设置
- 求sinx/x的极限
- css实现线条两边细中间粗
- mysqladmin: Can't turn off logging; error: 'Access denied; you need the SUPER privilege for this ope
- STM32物联网项目-低功耗模式