微信搶紅包遊戲繞過指定尾數(2)
最近朋友推薦玩微信紅包賭博遊戲,大概的意思就是你搶到了制定尾數的紅包,你就要給那個人發相同數量的金額。比如你發紅包的時候這邊寫10/2或者10.....2等等的寫法,就表示發了10塊錢,指定尾數是2,如果搶到尾數是2的紅包,你就要給最初發紅包的那個人轉10塊錢。之前博主天真的認為這是概率,大家都是公平的,就隨便玩玩,結果沒想到原來很多人靠這個發財致富。他們可以作弊,不過作弊的軟體只能在蘋果機子上用,一個好幾千,就自動跳過指定的尾數。結果輸了幾百塊錢,後面分析了其中的原理,在安卓上開發了一個小軟體,下面將程式碼公開,希望大牛能做得更好,終於把之前輸的錢贏回來了,不過這種搶紅包遊戲小賭怡情,大賭傷身,強賭灰飛煙滅的。希望大家如果玩的話要慎重。
網上有很多自動強紅包的例子和程式碼,博主也是做了一些優化。
先說說自己的兩個個優勢
1.可以在聊天介面自動強不依賴於通知欄推送 ,就不會錯過任何一個紅包了
2.可以在螢幕熄滅的時候的時候點亮螢幕自動搶,繞過指定尾數
先上圖:
原理:
通過AccessibilityService監聽到狀態列通知,進行模擬點選,獲取螢幕中view節點為領取紅包的list並且點選最後一個。
如果不通過狀態列通知,通過檢視變化AccessibilityEvent的2048事件也是就
public static final int TYPE_WINDOW_CONTENT_CHANGED = 0x00000800;
- 1
- 1
每次接受到新訊息都會有這個時間的回撥:
public void onAccessibilityEvent(AccessibilityEvent event) {
int eventType = event.getEventType();
if (auto)
Log.e("AAAAAAAA", "有事件" + eventType);
switch (eventType) {
//當通知欄發生改變時
case 2048:
pubclassName = event.getClassName().toString();
Log.e("AAAAAAAA", "有2048事件" + pubclassName + auto);
if (!auto && pubclassName.equals("android.widget.TextView") && ALL) {
Log.e("AAAAAAAA", "有2048事件被識別" + auto + pubclassName);
getLastPacket(1);
}
if (auto && WXMAIN) {
getLastPacket();
auto = false;
}
break;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
所以在接受的時候,去處理一下去點選領取紅包。然而這個方法會被頻發呼叫,我們就加一個”Android.widget.TextView”事件類的篩選,然後還是會被很頻繁呼叫,會比較遲效能耗電。
那就加個布林ALL標誌位,讓使用者控制是否開啟聊天介面內也搶紅包的模式。
為了不反覆領取要記錄上次介面內的紅包數量在紅包增加的時候才去領取:
private void getLastPacket(int c) {
Log.e("AAAAAAAA", "新方法" + parents.size());
AccessibilityNodeInfo rootNode = getRootInActiveWindow();
recycle(rootNode);
Log.e("AAAAAAAA", "last++" + lastbagnum + "當前頁面紅包數" + parents.size());
if (parents.size() > 0 && WXMAIN) {
Log.e("AAAAAAAA", "頁面大於O且在微信介面");
if (lastbagnum < parents.size())
parents.get(parents.size() - 1).performAction(AccessibilityNodeInfo.ACTION_CLICK);
lastbagnum = parents.size();
parents.clear();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
目前在通過外掛領過幾個紅包後,一個聊天介面突然發第一個紅包(沒有通知欄)會有一定機率領取不到,再繼續發就正常了,應該是清空問題,該bug博主者也在更改邏輯中。
點亮螢幕方法(有密碼肯定是不行的):
private void wakeAndUnlock2(boolean b)
{
if(b)
{
//獲取電源管理器物件
pm=(PowerManager) getSystemService(Context.POWER_SERVICE);
//獲取PowerManager.WakeLock物件,後面的引數|表示同時傳入兩個值,最後的是除錯用的Tag
wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright");
//點亮螢幕
wl.acquire();
//得到鍵盤鎖管理器物件
km= (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
kl = km.newKeyguardLock("unLock");
//解鎖
kl.disableKeyguard();
}
else
{
//鎖屏
kl.reenableKeyguard();
//釋放wakeLock,關燈
wl.release();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
接受到通知欄的紅包訊息亮屏設定標誌位為自動領取,調取領取函式:
if (content.contains("[微信紅包]")) {
if (event.getParcelableData() != null &&
event.getParcelableData() instanceof Notification) {
Notification notification = (Notification) event.getParcelableData();
PendingIntent pendingIntent = notification.contentIntent;
try {
auto = true;
wakeAndUnlock2(true);
pendingIntent.send();
Log.e("demo", "進入微信" + auto + event.getClassName().toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
點選介面控制元件方法:(不同微信版本控制元件id不一樣我的是6.3.25)如果不知道怎麼獲取這個id可以看下面的參考文獻最後一個,右側的resource-id就是這個id
順便說一下目前安卓最新版6.3.31開紅包按鈕的id是com.tencent.mm:id/bg7換成這個就好了
。
click("com.tencent.mm:id/bag");
- 1
- 1
在Activity中設定聊天中領取開關:
public void start(View v) {
if (AirAccessibilityService.ALL) {
AirAccessibilityService.ALL = false;
((Button) v).setText("對話內監控+關");
} else {
AirAccessibilityService.ALL = true;
((Button) v).setText("對話內監控+開");
}
;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
AccessibilityService的確很吊,你用AccessibilityService或者root後的安卓手機能幹太多事了,或好或壞,但畢竟技術是無罪的。
大嬸們多多搞出點事情,讓技術造福人類。哈哈哈哈。
下面可以觀看一下這個視訊:http://dwz.cn/5RQFjX(用手機看,或者微信,拍的美拍)
有需要的留言或者發私信哈
相關文章
- 微信搶紅包遊戲繞過指定尾數遊戲
- 模擬微信搶紅包demo,生成隨機數隨機
- 高仿微信搶紅包動畫特效動畫特效
- 微信小程式搶紅包實現效果微信小程式
- Python教你全自動搶微信紅包Python
- 微信小程式搶紅包高併發設計微信小程式
- Android微信新版全自動搶紅包助手Android
- 開發微信搶紅包軟體被罰475萬!
- Android通過輔助功能實現搶微信紅包原理簡單介紹Android
- 微信搶紅包當心變賭博 娛樂遊戲違法犯罪邊界在哪?遊戲
- Redis秒殺系統架構設計-微信搶紅包Redis架構
- 新體驗,Apple Watch 也能搶微信紅包了!APP
- 揭祕微信紅包架構、搶紅包演算法和高併發和降級方案架構演算法
- 關於年會搶紅包遊戲的一個思考遊戲
- 快過年了,如何使用 AutoJS 自動化快速搶微信紅包!JS
- 使用原生JS開發一個搶紅包的小遊戲JS遊戲
- QQ搶紅包外掛實現
- Android 輔助功能 -搶紅包Android
- 自己寫一個不會被微信封掉的Android搶紅包助手Android
- “微信自動搶紅包”軟體構成不正當競爭被判賠475萬
- Android微信搶紅包輔助,核心程式碼只需要100+行Android
- 一步一步實現iOS微信自動搶紅包(非越獄)iOS
- Android 輔助功能 -搶紅包(二)Android
- Android 輔助功能 -搶紅包(三)Android
- 微信紅包介面呼叫(rails)AI
- js繞過-前端加密繞過JS前端加密
- JavaScript 指定字串結尾JavaScript字串
- 新年創意H5!千萬別錯過的新年搶紅包H5小遊戲製作攻略H5遊戲
- u“微信自動搶紅包”軟體構成不正當競爭被判賠475萬
- 別人搶紅包,我們研究一下紅包演算法演算法
- 如何設計一個搶紅包系統
- 搶紅包案例分析以及程式碼實現
- C#實現搶紅包演算法C#演算法
- 淺析微信支付:商戶平臺開通現金紅包、指定使用者發放、紅包記錄查詢
- 微信商戶 API 發紅包!API
- 騰訊筆試題--微信紅包筆試
- Redis秒殺實戰-微信搶紅包-秒殺庫存,附案例原始碼(Jmeter壓測)Redis原始碼JMeter
- 淺談繞過WAF的數種方法