微信逆向之辅助小工具
本帖最后由 younghare 于 2017-3-26 21:26 编辑这个工具的主要作用就是检查微信窗口的变化,当然通过命令行工具也可以实现 ,不过我觉得麻烦就习惯用自己的小工具
android中获取顶部activity的命令行方法
:adb shell dumpsys activity top
2:自己写一个辅助功能工具记录各个activity的变化情况(在次我把代码放在csdn上,如果你需要监控其他只需要修改包名即可)
http://download.csdn.net/detail/caizhigui/9765994
由于是辅助而已,没有什么代码。主要的代码如下
public void onAccessibilityEvent(AccessibilityEvent event) {
String s_pkgName = event.getPackageName().toString();
String s_getClassName=event.getClassName().toString();
//打印event信息
//printEvnetInfo(event);
//获取跟节点
AccessibilityNodeInfo nodeInfo_root;
nodeInfo_root = getRootInActiveWindow();
//LogUtil.d(TAG, "nodeInfo_root根节点信息==="+nodeInfo_root.toString());
//我们仅对微信工作,其他应用不工作.包名的过滤(这种方式最常用)
if (!s_pkgName.equals("com.tencent.mm")){
Toast.makeText(this, "后台====请通知开发人员软件配置错误!", Toast.LENGTH_LONG).show();
return;
}
switch (event.getEventType()){
case AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED://切换Activity时会被触发
LogUtil.d(TAG, "=====窗口状态变化事件32====类名" +s_getClassName);
//System.out.println("=====窗口状态变化事件32====类名" +s_getClassName);
//activityList.add(s_getClassName);
break;
case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED://64通知栏消息的事件
//LogUtil.d(TAG, "**********通知栏状态变化事件64**********类名"+s_getClassName);
// doNotificationEvent(event);
break;
case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED://Activity中内容发送了变化时触发
LogUtil.d(TAG, "------------内容变化了2048--------------类名"+s_getClassName );
if (s_getClassName.equals("android.widget.TextView")){
}
break;
}
}
下面是记录的log
D/DetectionService: =====窗口状态变化事件32====类名com.tencent.mm.ui.LauncherUI(微信的启动界面)
D/dalvikvm: JIT code cache reset in 0 ms (0 bytes 2/0)
D/dalvikvm: GC_FOR_ALLOC freed 397K, 18% free 3979K/4848K, paused 2ms, total 2ms
D/DetectionService: ------------内容变化了2048--------------类名android.widget.FrameLayout
D/DetectionService: ------------内容变化了2048--------------类名android.widget.TextView
D/DetectionService: ------------内容变化了2048--------------类名android.widget.TextView
D/DetectionService: ------------内容变化了2048--------------类名android.widget.ListView
D/dalvikvm: GC_FOR_ALLOC freed 525K, 21% free 3967K/4964K, paused 2ms, total 2ms
D/DetectionService: ------------内容变化了2048--------------类名android.widget.FrameLayout
D/DetectionService: ------------内容变化了2048--------------类名android.widget.ListView
D/DetectionService: ------------内容变化了2048--------------类名android.widget.TextView
D/DetectionService: ------------内容变化了2048--------------类名android.widget.TextView
D/DetectionService: =====窗口状态变化事件32====类名com.tencent.mm.ui.SingleChatInfoUI(微信的聊天信息界面)
D/dalvikvm: GC_FOR_ALLOC freed 518K, 21% free 3961K/4964K, paused 2ms, total 2ms
D/DetectionService: ------------内容变化了2048--------------类名android.widget.TextView
。。。。。。。。。。。。
我将根据这个工具和我的“Wechat6.3.31smali第二版”(关键部分已经打上断点)
实现了对微信的逆向并实现微群控功能实现
[*]自动发图片、文字给好友或(聊天群)
[*] 转发语音给好友
[*]聊天消息转发给好友
[*]自动关注微信公众号
[*]自动打招呼
[*]自动加好友
[*] 邀请好友加入群聊
[*]邀请好友加入会话
==========统一回答======
根据网友反馈的现在是微信6.5问题,我这边统一做解答:
这个工具跟微信版本没有关系。
smali源码是分析而已,你只要在微信6.3.31或其他版本中找到具体位置,你就可以通过关键字符到微信6.5中去搜索到一样的代码
微信仅混淆了代码,但没有混淆特殊字符哦
我就看看 younghare 发表于 2017-3-4 20:42
二维码不是uin是微信内部码。跟加微信好友一样用的时内部码,如果你懂的加微信好友(如附近人、摇一摇等 ...
我是看到你发的微信6.3.31smali源码,才开始学着用android studio动态调试的微信的,内部码什么的,确实不清楚。准备拿二维码名片生成练下手。。。恳请你有空指导下源码位置,或者发个教程,谢谢! 虽然看不懂但是觉得很厉害呢 看看,感觉厉害 虽然看不懂但是觉得很厉害呢 一点都看不懂{:1_912:} 我很需要。能详聊吗 看了,还是不懂 楼主,csdn 没积分下呀,,就不能放这边让人下? 都是高手呀!这个我是看不懂 但哈是下载下来看看