日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

非Xposed版 修改微信摇塞子

發布時間:2024/3/24 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 非Xposed版 修改微信摇塞子 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文繼續上篇文章

微信6.6.7版本搖塞子破解思路(居多圖)

本文不再粘貼java轉smali語法詳細過程,只是講訴下思路

?

?

?

?

Xposed版本?不是所有手機環境都支持,所以我才想試試直接反編譯代碼寫入微信apk中,這樣用戶就不需要配置什么復雜的環境.

?

第一個目標

效果如圖

?

怎么做呢?很簡單嘛拿TraceView?簡體這個按鈕觸發點擊事件在哪即可.

?

可以看到點擊處理在HomeUI$25這個類中

?

那么我們先寫一個彈窗函數m_show函數?嵌入HomeUI$25這個類

?

public?boolean?m_show(View?view)?{try?{//LauncherUI.m_instance_LauncherUI是一個上下文對象?AlertDialog.Builder?builder?=?new?AlertDialog.Builder(LauncherUI.m_instance_LauncherUI);builder.setTitle("桂電的互聯掃地僧");String?options[]?=?new?String[]{"搶紅包",?"塞子控制",?"猜拳控制",?"防撤銷",?"閃圖保存"};builder.setItems(options,?new?DialogInterface.OnClickListener()?{@Overridepublic?void?onClick(DialogInterface?dialog,?int?which)?{dialog.dismiss();}});builder.setNegativeButton("關閉",?new?DialogInterface.OnClickListener()?{@Overridepublic?void?onClick(DialogInterface?dialog,?int?which)?{dialog.dismiss();}});builder.show();}?catch?(Exception?e)?{Log.e("FMY=================",?"m_show:?");e.printStackTrace();}return?true; }

?

特別提醒的就是上面這個java轉smali會生成匿名類文件,請一并拷貝到反編譯的微信中

?

上面這個方法是嵌入在我們要反編譯之后的微信之中的,我們直接嵌入HomeUI$25這個類即可,當用戶點擊微信界面的十字先執行它原本的的onclick函數,我們在onclick函數中調用m_show()即可.(當然這里嵌入的是smali代碼,上一篇文章講訴過怎么做了)

再來解決一個問題如何得到上下文對象實例?因為我們彈窗代碼需要用到這個作為參數.

解決辦法,也很簡單,View有一個函數getContent來獲取 .然后你會發現用這個方法不一定成功哦,這里不做原因解釋

我們直接干脆拿微信界面的Activity界面的對象實例.(Activity也是一個上下文對象的子類)

?

首先打開微信界面,然后再命令行輸入?adb?shell?dumpsys?acitivity?top

?

?

我們這里采用的思想如下.

在LanucherUi這個類中創建public的靜態實例指向自己,

偽代碼如下(請自行修改微信源smali代碼)

?

?

此時彈窗代碼基本思路介紹完了.我們把彈窗完善下,當用戶點擊彈窗的控制撒子按鈕時我們在彈窗一個選擇1到6的選擇界面,目的是讓用戶選擇塞子點數.

?

這里直接貼代碼吧

class?HomeUI$25?{public?void?onClick(View?view){/***?*************************?***********************?這里注釋表示原本程序的邏輯代碼*?**********************?***********************/m_show(view);//彈窗/***?*************************?***********************?這里注釋表示原本程序的邏輯代碼*?**********************?***********************/}public?boolean?m_show(View?view)?{try?{AlertDialog.Builder?builder?=?new?AlertDialog.Builder(LauncherUI.m_instance_LauncherUI);builder.setTitle("桂電的互聯掃地僧");String?options[]?=?new?String[]{"搶紅包",?"塞子控制",?"猜拳控制",?"防撤銷",?"閃圖保存"};builder.setItems(options,?new?DialogInterface.OnClickListener()?{@Overridepublic?void?onClick(DialogInterface?dialog,?int?which)?{dialog.dismiss();switch?(which)?{case?1:dialog.dismiss();ctl_dice();break;}}});builder.setNegativeButton("關閉",?new?DialogInterface.OnClickListener()?{@Overridepublic?void?onClick(DialogInterface?dialog,?int?which)?{dialog.dismiss();}});builder.show();}?catch?(Exception?e)?{Log.e("FMY=================",?"m_show:?");e.printStackTrace();}return?true;}public?void?ctl_dice()?{try?{AlertDialog.Builder?builder?=?new?AlertDialog.Builder(LauncherUI.m_instance_LauncherUI);builder.setTitle("選擇點數");String?options[]?=?new?String[]{"1",?"2",?"3",?"4",?"5",?"6"};builder.setItems(options,?new?DialogInterface.OnClickListener()?{@Overridepublic?void?onClick(DialogInterface?dialog,?int?which)?{dialog.dismiss();//給bi類的dice變量設置搖骰子點數.這個類是上一篇文章中分析過的?用戶隨機生成一個0-5的數字//?控制骰子.我們這里在手動的添加了一個靜態int變量名為dice.后文在繼續詳細講解bi.dice?=?which;Toast.makeText(LauncherUI.m_instance_LauncherUI,?"修改點數成功",?Toast.LENGTH_SHORT).show();}});builder.show();}?catch?(Exception?e)?{Log.e("FMY=================",?"m_show:?");e.printStackTrace();}}}

?

還有一處思想要改就是如何完美控制?

上面一行代碼如下

?bi.dice?=?which;

?

上一篇文章解釋過bi類中有個eF函數,我們在eF函數返回塞子點數.

我們這里可以在這個類中創建一個變量叫dice,當調用eF的時候直接返回dice作為結果(當然你還要在eF中判斷是否為當前函數調用是為了生成塞子點數,這個函數有可能為其他目的而被調用)

?

?

以上就是整體的思路.反編譯會apk即可,實現非xposed實現點數控制

現在網上有一些賣什么vip版本微信?原理也是如此.當然也可以添加微信帳號密碼監聽功能,所以請小心.

不打算放出

總結

以上是生活随笔為你收集整理的非Xposed版 修改微信摇塞子的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。