加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

说明黑客 | 适用能力之“抢火车票、红包技能”,防惫亓?受骗

发布时间:2019-01-17 21:57:50 所属栏目:业界 来源:Jayson
导读:一、抢火车票 1、抢火车票软件的技能道理 今朝主流的抢票软件是安装在赏识器上的插件,像猎豹、360赏识器等,用于在12306网站上抢票。 通例环境下,行使12306网站订票时,假如革新页面就必要再次填写小我私人书息,这就延伸了不少时刻。这一延伸,也许必要秒杀

微信自动抢红包的实现要领,首要实现以下几个成果:

  • 自动拆开屏幕上呈现的红包
  • 处于桌面或谈天列表时吸取到红包信息时自动进入谈天界面并拆红包
  • 日记成果,记录抢红包的具体日记

实现道理:

  • 操作AccessibilityService帮助处事,监测屏幕内容,实现自动拆红包的目标。
  • 操作ActiveAndroid数据库简朴记录红包日记
  • 操作preference实现监控选项记载

最终界面:

说明黑客 | 适用能力之“抢火车票、红包技能”,防惫亓?受骗

抢红包焦点代码:

AccessibilityService设置

  1. android:accessibilityEventTypes 配置触发监听回调的变乱范例; 
  2. android:packageNames 配置监听的应用,这里监听的是微信,因此填上微信的包名com.tencent.mm 
  3. <accessibility-service xmlns:android="http://schemas.android.com/apk/res/android" 
  4. android:accessibilityEventTypes="typeNotificationStateChanged|typeWindowStateChanged|typeWindowContentChanged" 
  5.  android:accessibilityFeedbackType="feedbackGeneric" 
  6.  android:accessibilityFlags="flagDefault" 
  7.  android:canRetrieveWindowContent="true" 
  8.  android:description="@string/accessibility_description" 
  9.  android:notificationTimeout="100" 
  10.  android:packageNames="com.tencent.mm" 
  11.  android:settingsActivity="com.oden.annotations.app.activity.ManActivity" /> 

在AndroidManifest.xml中声明:

  1. <service 
  2.  android:name=".app.service.HongbaoService_" 
  3.  android:enabled="true" 
  4.  android:exported="true" 
  5.  android:label="@string/app_name" 
  6.  android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" > 
  7.  <intent-filter> 
  8.  <action android:name="android.accessibilityservice.AccessibilityService" /> 
  9.  </intent-filter> 
  10.  <meta-data 
  11.  android:name="android.accessibilityservice" 
  12.  android:resource="@xml/accessibility_service_config" /> 
  13.  </service> 

抢红包实当代码

吸取体系发送来的AccessibilityEvent

  1. private static final String GET_RED_PACKET = "领取红包"; 
  2. private static final String CHECK_RED_PACKET = "查察红包"; 
  3. private static final String RED_PACKET_PICKED = "手慢了,红包派完了"; 
  4. private static final String RED_PACKET_PICKED2 = "手气"; 
  5. private static final String RED_PACKET_PICKED_DETAIL = "红包详情"; 
  6. private static final String RED_PACKET_SAVE = "已存入零钱"; 
  7. private static final String RED_PACKET_NOTIFICATION = "[微信红包]"; 
  8.   
  9. @Override 
  10. public void onAccessibilityEvent(AccessibilityEvent event) { 
  11.  L.d("RECEIVE EVENT!"); 
  12.  if (watchedFlags == null) return; 
  13.  /* 检测关照动静 */ 
  14.  if (!mMutex) { 
  15.  if (watchedFlags.get("pref_watch_notification") && watchNotifications(event)) return; 
  16.  if (watchedFlags.get("pref_watch_list") && watchList(event)) return; 
  17.  } 
  18.  if (!watchedFlags.get("pref_watch_chat")) return; 
  19.   
  20.  this.rootNodeInfo = event.getSource(); 
  21.  if (rootNodeInfo == null) return; 
  22.   
  23.  mReceiveNode = null; 
  24.  mUnpackNode = null; 
  25.   
  26.  checkNodeInfo(); 
  27.   
  28.  /* 假如已经吸取到红包而且还没有戳开 */ 
  29.  if (mLuckyMoneyReceived && !mLuckyMoneyPicked && (mReceiveNode != null)) { 
  30.  mMutex = true; 
  31.  AccessibilityNodeInfo cellNode = mReceiveNode; 
  32.  cellNode.getParent().performAction(AccessibilityNodeInfo.ACTION_CLICK); 
  33.  mLuckyMoneyReceived = false; 
  34.  mLuckyMoneyPicked = true; 
  35.  L.d("正在打开!"); 
  36.  } 
  37.   
  38.  /* 假如戳开但还未领取 */ 
  39.  if (mNeedUnpack && (mUnpackNode != null)) { 
  40.  AccessibilityNodeInfo cellNode = mUnpackNode; 
  41.  cellNode.performAction(AccessibilityNodeInfo.ACTION_CLICK); 
  42.  mNeedUnpack = false; 
  43.  L.d("正在领取!"); 
  44.  } 
  45.   
  46.  if (mNeedBack) { 
  47.  performGlobalAction(GLOBAL_ACTION_BACK); 
  48.  mMutex = false; 
  49.  mNeedBack = false; 
  50.  L.d("正在返回!"); 
  51.  //总次数和金额统计 
  52.  if (isGetMoney) { 
  53.  T.showShort(this, "抢到一个红包: " + gotMoney + "元!"); 
  54.  totalMoney = totalMoney + gotMoney; 
  55.  totalSuccessNum++; 
  56.  myPrefs.totalMoney().put(totalMoney); 
  57.  myPrefs.successNum().put(totalSuccessNum); 
  58.  L.d("totalMoney: " + totalMoney); 
  59.  L.d("totalSuccessNum: " + totalSuccessNum); 
  60.  saveToLog(hongbaoInfo); 
  61.  isGetMoney = false; 
  62.  } 
  63.  } 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读