精华内容
下载资源
问答
  • 怎样复制加好友
    千次阅读
    2020-12-20 16:27:23

    原地址:https://www.xuewangzhan.net/jquery/21100.html

    复制按钮 xyz2018

    点击复制

    clipboard.on('success', function(e) {

    alert("微信号复制成功",1500);

    window.location.href='weixin://';

    e.clearSelection();

    console.log(e.clearSelection);

    });

    });

    近期,有建网站客户要求实现在自己的手机网站上实现点击复制微信号并自动打开微信加好友的功能。怎么在自己建网站时,制作出这样的点击复制微信号并自动打开微信加好友功能呢?

    下面学做网站论坛分享一下实现点击复制微信号并自动打开微信加好友的代码如下:

    复制按钮

    微信号:xyz2018

    点击复制

    $(document).ready(function(){

    var clipboard = new Clipboard('#copy_btn');

    clipboard.on('success', function(e) {

    alert("微信号复制成功",1500);

    window.location.href='weixin://';

    e.clearSelection();

    console.log(e.clearSelection);

    });

    });

    如果要开发出更多的功能,可以结合jquery点击按钮复制内容代码的方法进行一定的修改。

    更多相关内容
  • 4.在浏览器网页中打开,点击“打开微信添加”会自动复制微信号,并且弹出添加好友界面带添加教程,点“打开微信添加好友”会直接拉起微信! 5.此源码没有后台 直接解压上传即可使用,压缩包附带教程,赶紧下载吧。
  • 实现点击复制微信号并自动打开微信加好友的代码,新人直接可用,小白也看得懂
  • 用途比较广,适合各行各业 用来引流干啥都行,界面简洁合理,支持点击自动复制微信号及跳转打开。
  • 前言:为了方便客户浏览页面时微信,直接点击按钮即可打开微信进行好友增加,(效果图如下)1、css部分.foot-shut {display: inline-block;position: absolute;right: 5%;top: 3%;font-size: 0.72rem;color: #000;}....

    前言:

    为了方便客户浏览页面时加微信,直接点击按钮即可打开微信进行好友增加,(效果图如下)

    91a1accb70df

    1、css部分

    .foot-shut {

    display: inline-block;

    position: absolute;

    right: 5%;

    top: 3%;

    font-size: 0.72rem;

    color: #000;

    }

    .zmtWechat {

    bottom: 0;

    height: 50px;

    position: fixed;

    width: 100%;

    border: 1px solid #000;

    z-index: 99;

    }

    .we2 {

    background: #302825;

    color: #ffffff;

    float: left;

    font-size: 18px;

    height: 50px;

    line-height: 50px;

    padding-top: 0;

    width: 60%;

    text-align: center;

    }

    .we1 {

    background: #137dc7;

    color: #ffffff;

    float: left;

    font-size: 18px;

    height: 50px;

    line-height: 50px;

    overflow: hidden;

    padding-top: 0;

    position: relative;

    width: 40%;

    text-align: center;

    }

    .we1 a {

    color: #fff;

    }

    .wechatIcon {

    vertical-align: middle;

    width: 30px;

    }

    2、html部分

    wechat.png

    微信号:

    {contact}

    点击加我好友

    3、js部分

    function copywx() {

    const range = document.createRange();

    range.selectNode(document.getElementById('copy_content'));

    const selection = window.getSelection();

    if (selection.rangeCount > 0) selection.removeAllRanges();

    selection.addRange(range);

    document.execCommand('copy');

    alert("复制成功!");

    }

    展开全文
  • Xposed-微信自动加好友功能实现

    千次阅读 2021-03-16 03:15:57
    本帖最后由 hjw45611 于 2019-3-14 15:23 编辑严重声明本文的意图只有一个就是通过分析app学习更多的逆向...前两天有人想让我做一个微信自动加好友的功能,今天就想试一试。以微信6.6.7版本为例,手机root与Xposed...

    本帖最后由 hjw45611 于 2019-3-14 15:23 编辑

    严重声明

    本文的意图只有一个就是通过分析app学习更多的逆向技术,如果有人利用本文知识和技术进行非法操作进行牟利,带来的任何法律责任都将由操作者本人承担,和本文作者无任何关系,最终还是希望大家能够秉着学习的心态阅读此文。

    前两天有人想让我做一个微信自动加好友的功能,今天就想试一试。

    以微信6.6.7版本为例,手机root与Xposed框架安装本文不做讨论,如有需要查看论坛内其他帖子,本文只用于Xposed模块编写。

    thread-872046-1-1.html

    经坛友提醒,使用文本存储手机号,在进行读取for循环添加时,10个以上的时候就会产生操作过于频繁的提醒,而且这个提醒大概一个小时才能解除。

    经过优化后,增加了线程的sleep时间,可实现自动循环查看好友信息,但在运行到25个左右时也会触发操作过于频繁的提醒。

    并且如果加好友的功能也增加上的话,也会由于加好友频繁而被限制,所以最好是通过ContentProvider把大量手机号批量写入到手机通讯录数据库中,然后使用微信的添加通讯录好友的方式来添加好友,但有网友反应可用,也有网友反应加的多了收不到验证信息,我也并未实验, 以下分析流程就仅做参考吧。

    至今(2019-03-14)微信自动加好友的分析已经完成,主要分三步:

    1.查找好友(本文)

    2.自动点击添加好友按钮进入验证页面

    https://www.52pojie.cn/thread-886190-1-1.html

    3.自动发送验证信息

    https://www.52pojie.cn/thread-897346-1-1.html

    希望喜欢Xposed的朋友能交流学习,从中获益。

    1.首先查看微信加好友的页面

    是FTSAddFriendUI这个Activity。

    2.使用jadx打开app,查找FTSAddFriendUI

    3.寻找突破点

    55fd2b2273b5a8b4531f72773c469d6e.gif

    屏幕快照 2019-02-18 22.13.24.png (119.18 KB, 下载次数: 15)

    2019-2-19 09:31 上传

    大体浏览后没有类似EditView的实例对象,但发现一个内部类FTSAddFriendUI$5

    55fd2b2273b5a8b4531f72773c469d6e.gif

    屏幕快照 2019-02-18 17.49.34.png (307.29 KB, 下载次数: 9)

    2019-2-19 09:31 上传

    -1通过简单分析,确定这个内部类是搜索好友后的结果显示

    成功的话就intent跳转,失败的话就显示该用户不存在等错误信息

    -2直接查找它的使用

    是CM方法使用到它了,分析可得这个方法的参数就是输入框的字符串,字符串不为空后进行查询,并显示一个正在查询的Dialog,有结果后回调OnCancelListener,并且触发内部类FTSAddFriendUI$5中的结果显示方法。

    55fd2b2273b5a8b4531f72773c469d6e.gif

    屏幕快照 2019-02-18 17.52.33.png (144.55 KB, 下载次数: 8)

    2019-2-19 09:32 上传

    Hook CM方法,打印string参数,发现就是输入框的文本数据,确认CM方法就是要找的方法

    -3xposed直接使用

    [Java] 纯文本查看 复制代码final Class FTSAddFriendUIClass=loadPackageParam.classLoader.loadClass("com.tencent.mm.plugin.fts.ui.FTSAddFriendUI");

    findAndHookMethod(FTSAddFriendUIClass,

    "onCreate",Bundle.class,

    new XC_MethodHook() {

    @Override

    protected void afterHookedMethod(final MethodHookParam param) throws Throwable {

    super.afterHookedMethod(param);

    new Handler().postDelayed(new Runnable() {

    @Override

    public void run() {

    XposedHelpers.callMethod(param.thisObject,"CM","微信号/QQ号/手机号");

    }

    },1000);

    }

    });

    55fd2b2273b5a8b4531f72773c469d6e.gif

    searchUserErr.gif (709.39 KB, 下载次数: 8)

    2019-2-19 09:33 上传

    -4解决问题

    结果可以看到只有dialog,dialog结束后并没有反应,但dialog能显示说明代码执行了,那就来看一下FTSAddFriendUI$5这个结果处理类里的方法有没有执行吧。

    [Java] 纯文本查看 复制代码findAndHookMethod("com.tencent.mm.plugin.fts.ui.FTSAddFriendUI$5",loadPackageParam.classLoader,

    "a",int .class, int .class,String.class,XposedHelpers.findClass("com.tencent.mm.ab.l",loadPackageParam.classLoader) ,

    new XC_MethodHook() {

    @Override

    protected void beforeHookedMethod(MethodHookParam param) throws Throwable {

    super.beforeHookedMethod(param);

    log("FTSAddFriendUI$5--0="+param.args[0]+"=1="+param.args[1]+

    "=2="+param.args[2]);

    }

    });

    打印结果如下:

    2019-02-18 17:55:19.347 3872-3872/? I/Xposed: [17:55:19]:  FTSAddFriendUI$5--0=0=1=0=2=Everything is OK

    搜索结果处理的方法执行了,说明问题不在CM方法,而是在处理方法中因为某个问题而停止了。

    那就来分析一下这个a方法里的哪段代码是有问题的吧。a方法完整代码如下,

    [Java] 纯文本查看 复制代码public final void mo2331a(int i, int i2, String str, C0879l c0879l) {

    C1261g.m2963DF().mo8629b(106, (C0874e) this);

    FTSAddFriendUI.this.aQA();

    if (i == 0 && i2 == 0) {

    FTSAddFriendUI.this.iJw = ((C9339f) c0879l).bcS();

    if (FTSAddFriendUI.this.iJw.rHb > 0) {

    if (FTSAddFriendUI.this.iJw.rHc.isEmpty()) {

    C35785h.m67602a(FTSAddFriendUI.this, C8733g.search_contact_not_found, 0, true, null);

    return;

    }

    Intent intent = new Intent();

    intent.putExtra("add_more_friend_search_scene", 3);

    if (FTSAddFriendUI.this.iJw.rHc.size() > 1) {

    try {

    intent.putExtra("result", FTSAddFriendUI.this.iJw.toByteArray());

    C36379d.m70344b(FTSAddFriendUI.this.mController.tml, "subapp", ".ui.pluginapp.ContactSearchResultUI", intent);

    return;

    } catch (Throwable e) {

    C3327x.printErrStackTrace("MicroMsg.FTS.FTSAddFriendUI", e, "", new Object[0]);

    return;

    }

    }

    ((C33521h) C1261g.m2977l(C33521h.class)).mo24028a(intent, (biy) FTSAddFriendUI.this.iJw.rHc.getFirst(), FTSAddFriendUI.this.jvZ);

    }

    FTSAddFriendUI.this.jvX = 1;

    FTSAddFriendUI.m48692g(FTSAddFriendUI.this);

    } else {

    switch (i2) {

    case DownloadResult.CODE_CONNECTION_EXCEPTION /*-24*/:

    C29477a eV = C29477a.m50825eV(str);

    if (eV == null) {

    FTSAddFriendUI.this.jvQ.setText(C8733g.no_contact_result);

    break;

    } else {

    FTSAddFriendUI.this.jvQ.setText(eV.desc);

    break;

    }

    case -4:

    if (i != 4) {

    FTSAddFriendUI.this.jvQ.setText(FTSAddFriendUI.this.getString(C8733g.search_contact_err_no_code));

    break;

    }

    default:

    FTSAddFriendUI.this.jvQ.setText(C8733g.no_contact_result);

    break;

    }

    FTSAddFriendUI.this.jvX = -1;

    FTSAddFriendUI.this.jvY = 1;

    }

    FTSAddFriendUI.m48693h(FTSAddFriendUI.this);

    }

    因为上面打印log时前两个参数都是0,所以精简后如下

    [Java] 纯文本查看 复制代码public final void mo2331a(int i, int i2, String str, C0879l c0879l) {

    C1261g.m2963DF().mo8629b(106, (C0874e) this);

    FTSAddFriendUI.this.aQA();

    if (i == 0 && i2 == 0) {

    FTSAddFriendUI.this.iJw = ((C9339f) c0879l).bcS();

    if (FTSAddFriendUI.this.iJw.rHb > 0) {

    if (FTSAddFriendUI.this.iJw.rHc.isEmpty()) {

    C35785h.m67602a(FTSAddFriendUI.this, C8733g.search_contact_not_found, 0, true, null);

    return;

    }

    Intent intent = new Intent();

    intent.putExtra("add_more_friend_search_scene", 3);

    if (FTSAddFriendUI.this.iJw.rHc.size() > 1) {

    try {

    intent.putExtra("result", FTSAddFriendUI.this.iJw.toByteArray());

    C36379d.m70344b(FTSAddFriendUI.this.mController.tml, "subapp", ".ui.pluginapp.ContactSearchResultUI", intent);

    return;

    } catch (Throwable e) {

    C3327x.printErrStackTrace("MicroMsg.FTS.FTSAddFriendUI", e, "", new Object[0]);

    return;

    }

    }

    ((C33521h) C1261g.m2977l(C33521h.class)).mo24028a(intent, (biy) FTSAddFriendUI.this.iJw.rHc.getFirst(), FTSAddFriendUI.this.jvZ);

    }

    FTSAddFriendUI.this.jvX = 1;

    FTSAddFriendUI.m48692g(FTSAddFriendUI.this);

    }

    FTSAddFriendUI.m48693h(FTSAddFriendUI.this);

    }

    前面代码分析后无问题,但 if (FTSAddFriendUI.this.iJw.rHb > 0) 判断时不知rHb的值,此处需要hook一下。

    [Java] 纯文本查看 复制代码findAndHookMethod("com.tencent.mm.plugin.fts.ui.FTSAddFriendUI$5",loadPackageParam.classLoader,

    "a",int .class, int .class,String.class,XposedHelpers.findClass("com.tencent.mm.ab.l",loadPackageParam.classLoader) ,

    new XC_MethodHook() {

    @Override

    protected void beforeHookedMethod(MethodHookParam param) throws Throwable {

    super.beforeHookedMethod(param);

    log("FTSAddFriendUI$5--0="+param.args[0]+"=1="+param.args[1]+

    "=2="+param.args[2]+ "=rHb="+XposedHelpers.findField(XposedHelpers.findClass("com.tencent.mm.protocal.c.bja",loadPackageParam.classLoader),"rHb").get(XposedHelpers.callMethod((param.args[3]),"bcS"))

    );

    }

    打印得知rHb=0,所以不会走if语句内的代码,只有两个方法m48692g与m48693h有可能有问题,按顺序检查参数

    最终发现是这两个方法中使用了FTSAddFriendUI的变量bWm,而在输入框使用addTextChangedListener进行绑定后,bWm存储了输入的字符串,所以如果直接调用CM方法的话,导致bWm变量为空,所以解决方法如下:

    [Java] 纯文本查看 复制代码final Class FTSAddFriendUIClass=loadPackageParam.classLoader.loadClass("com.tencent.mm.plugin.fts.ui.FTSAddFriendUI");

    findAndHookMethod(FTSAddFriendUIClass,

    "onCreate",Bundle.class,

    new XC_MethodHook() {

    @Override

    protected void afterHookedMethod(final MethodHookParam param) throws Throwable {

    super.afterHookedMethod(param);

    new Handler().postDelayed(new Runnable() {

    @Override

    public void run() {

    XposedHelpers.setObjectField(param.thisObject,"bWm","微信号/QQ号/手机号");

    XposedHelpers.callMethod(param.thisObject,"CM","微信号/QQ号/手机号");

    }

    },1000);

    }

    });

    55fd2b2273b5a8b4531f72773c469d6e.gif

    2019-02-19 09_24_57.gif (739.03 KB, 下载次数: 8)

    2019-2-19 09:34 上传

    可以看到进入加好友界面后不需要输入,直接进入好友详情界面。

    当然如果输入数据搜索不到好友,结果处理方法的参数是

    2019-02-18 17:58:34.082 3872-3872/? I/Xposed: [17:58:34]:  FTSAddFriendUI$5--0=4=1=-4=2=User do not exist

    展开全文
  • 1.批量拉人进群,复制用户呢称或微信号,回车换行分隔(已实现) 2.朋友圈自动点赞(已实现) 3.自动抢红包,比手点快一些,比Xposed慢,(已实现) ScreenShot 运行效果截图如下: Article
  • 复制微信号码代码-一键复制微信号代码-点击复制微信号码,两种不同的点击复制微信号代码,页面测试已做好,分享给大家使用!
  • 在viewthread_node.htm文件内查找上面此段代码,并且删除替换为{... 上传DZ7.0个人信息美化手动修改版.rar的所有程序到相对目录! 更新缓存即可! 自动修改版请直接下载DZ7.0个人信息美化自动版.rar 全面覆盖即可!...
  • 不是被警告频繁就是会有封号的隐患,所以本帖仅作为自动加好友的技术探索 另需注意,因为误操作,手机微信版本升级到最新了,所以在此以微信7.0.3为例 上篇结尾自动搜索好友并跳转到资料信息页,本篇功能是在信息页...

    本帖最后由 hjw45611 于 2019-6-22 18:00 编辑

    严重声明

    本文的意图只有一个就是通过分析app学习更多的逆向技术,如果有人利用本文知识和技术进行非法操作进行牟利,带来的任何法律责任都将由操作者本人承担,和本文作者无任何关系,最终还是希望大家能够秉着学习的心态阅读此文。

    上篇文章仅仅做到自动查看联系人信息就结尾了,总感觉对不起这个帖子的题目,所以利用这几天的空闲时间就有了第二篇自动跳转验证申请页面

    上篇链接: https://www.52pojie.cn/thread-872046-1-1.html

    批量添加好友存在一定的问题,不是被警告频繁就是会有封号的隐患,所以本帖仅作为自动加好友的技术探索

    另需注意,因为误操作,手机微信版本升级到最新了,所以在此以微信7.0.3为例

    上篇结尾自动搜索好友并跳转到资料信息页,本篇功能是在信息页展示后自动点击添加好友按钮并跳转到验证申请页面

    寻找点击事件

    信息展示页是com.tencent.mm.plugin.profile.ui.ContactInfoUI,jadx打开并查找类ContactInfoUI,但代码中并找不到相关的点击跳转代码,所以换个思路

    点击添加好友按钮后跳转到验证申请页面SayHiWithSnsPermissionUI,直接搜索intent跳转中用到的 SayHiWithSnsPermissionUI.class

    55fd2b2273b5a8b4531f72773c469d6e.gif

    屏幕快照 2019-02-27 16.50.13.png (142.35 KB, 下载次数: 7)

    2019-3-4 11:19 上传

    可以看到有三个方法使用到,简单查看后,进行简单hook

    只有EF方法执行

    打印如下:

    2019-02-27 16:57:24.959 3772-3772/? I/Xposed: com.a85.wechatplugin:[16:57:24]:  onClick------1contact_profile_add_contact

    确定走的是com.tencent.mm.plugin.profile.a中的EF方法。参数打印是 contact_profile_add_contact

    直接在EF方法中扔出异常:

    [Java] 纯文本查看 复制代码findAndHookMethod("com.tencent.mm.plugin.profile.a", mlpparam.classLoader,

    "EF", String.class,

    new XC_MethodHook() {

    @Override

    protected void beforeHookedMethod(final MethodHookParam param) throws Throwable {

    super.beforeHookedMethod(param);

    log("onClick------1" + param.args[0]);

    throw new NullPointerException();

    }

    });

    查看日志

    55fd2b2273b5a8b4531f72773c469d6e.gif

    屏幕快照 2019-02-28 11.40.44.png (177.44 KB, 下载次数: 1)

    2019-3-4 11:20 上传

    很容易发现它的调用过程,先是一个item点击事件,然后回调给ContactInfoUI中a方法,最后调用到EF方法

    1.item点击事件

    首先看com.tencent.mm.ui.base.preference.MMPreference$2这个OnItemClickListener

    55fd2b2273b5a8b4531f72773c469d6e.gif

    屏幕快照 2019-03-01 14.02.26.png (215.21 KB, 下载次数: 1)

    2019-3-4 11:20 上传

    主要是对adapter中item数据的判断处理

    打印onItemClick方法中adapterView.getAdapter().getItem(i)的对象实例的class与mKey的值

    [Java] 纯文本查看 复制代码findAndHookMethod("com.tencent.mm.ui.base.preference.MMPreference$2", mlpparam.classLoader,

    "onItemClick", AdapterView.class, View.class, int.class, long.class,

    new XC_MethodHook() {

    @Override

    protected void beforeHookedMethod(final MethodHookParam param) throws Throwable {

    super.beforeHookedMethod(param);

    Object preference= ((AdapterView)param.args[0]).getAdapter().getItem((int)param.args[2]);

    log("onItemClick------" + preference.getClass().getSimpleName() + "=="+

    XposedHelpers.findField(XposedHelpers.findClass("com.tencent.mm.ui.base.preference.Preference",mlpparam.classLoader),"mKey").get(preference)

    );

    }

    });

    log日志如下:

    2019-03-01 14:05:06.815 5718-5718/? I/Xposed: com.a85.wechatplugin:[14:05:06]:  onItemClick------ButtonPreference==contact_profile_add_contact

    可以看到getItem的数据类是ButtonPreference,对于preference类的不同可以参考以下:

    55fd2b2273b5a8b4531f72773c469d6e.gif

    Screenshot_20190228-140542.png (258.04 KB, 下载次数: 0)

    2019-3-4 11:21 上传

    可以参考这个页面,不管加没加好友,联系人信息页面都是ContactInfoUI,顶部是一个头视图,下面的View是ListView,不过每个Item的Preference类不相同,发消息、音视频通话、添加好友都是ButtonPreference,朋友圈是SnsPreference,电话号码是PhoneNumPreference。

    通过log数据,判断后只走了  MMPreference.this.mo15244a(MMPreference.this.xOS, preference); 这个就是回调的ContactInfoUI中的a方法

    2.ContactInfoUI中a方法

    55fd2b2273b5a8b4531f72773c469d6e.gif

    屏幕快照 2019-03-01 14.20.22.png (122.89 KB, 下载次数: 0)

    2019-3-4 11:22 上传

    根据之前打印的EF方法的参数是contact_profile_add_contact,所以preference.mKey="contact_profile_add_contact",而且上一步的打印结果preference的类是ButtonPreference,所以整个回调只会执行 this.oHt.mo15424EF(str); 这段代码,mo15424EF方法就是一开始找到的EF方法。

    3.EF方法

    55fd2b2273b5a8b4531f72773c469d6e.gif

    屏幕快照 2019-03-01 15.04.04.png (285.25 KB, 下载次数: 0)

    2019-3-4 11:23 上传

    大致浏览后EF方法是根据传过来的String来判断点击的是哪个按钮,是发消息按钮,还是查看朋友圈按钮,还是添加通讯录按钮

    根据上一步的打印数据,EF方法的参数是contact_profile_add_contact,这部分代码如下。

    55fd2b2273b5a8b4531f72773c469d6e.gif

    屏幕快照 2019-03-04 09.41.52.png (279.99 KB, 下载次数: 0)

    2019-3-4 09:55 上传

    55fd2b2273b5a8b4531f72773c469d6e.gif

    屏幕快照 2019-03-04 09.42.16.png (293.23 KB, 下载次数: 0)

    2019-3-4 09:55 上传

    55fd2b2273b5a8b4531f72773c469d6e.gif

    屏幕快照 2019-03-04 09.43.29.png (284.87 KB, 下载次数: 0)

    2019-3-4 09:56 上传

    可以看到代码量还是很多,简单分析主要是得到一些变量的获取与判断,然后设置好c41857a中的回调方法,mo12226a方法与mo12227vr方法,一个是不需要验证执行的方法,一个是需要验证执行的方法。

    至此整个点击过程结束

    其实到此我们已经能从这已有的三个方法来实现自动点击了。

    我们可以从ContactInfoUI中a方法的主要代码this.oHt.mo15424EF(str); 入手来实现自动点击,代码如下:

    [Java] 纯文本查看 复制代码findAndHookMethod(ContactInfoUIClass,

    "onCreate", Bundle.class,

    new XC_MethodHook() {

    @Override

    protected void beforeHookedMethod(final MethodHookParam param) throws Throwable {

    super.beforeHookedMethod(param);

    new Handler().postDelayed(new Runnable() {

    @Override

    public void run() {

    if (!isFromAddFriend) {

    return;

    }

    try {

    Object oHt = XposedHelpers.findField(ContactInfoUIClass, "oHt").get(param.thisObject);

    XposedHelpers.callMethod(oHt, "EF", "contact_profile_add_contact");

    } catch (IllegalAccessException e) {

    e.printStackTrace();

    }

    }

    }, 1000);

    }

    });

    我们在显示账号信息页面的时候自动执行this.oHt.mo15424EF(str); 这个方法

    运行截图如下:

    55fd2b2273b5a8b4531f72773c469d6e.gif

    跳转.gif (989.65 KB, 下载次数: 2)

    2019-3-1 16:26 上传

    可以看到成功跳转到验证页面。

    至此本文结束,其实一开始我是想要找到intent跳转的回调是哪一个发出的,但中间的分析实在是过于复杂,大致过程是点击后生成一个提示窗,然后生成一个请求,后台查询这个用户是不是需要验证,然后解析数据进行回调,然后取消弹窗,然后跳转到验证页或者直接加好友。涉及到十几个类的分析,我也一直在钻牛角尖,一直想找到网络请求生成这一部分的代码再自己xposed进行实现,导致找的头昏脑胀,但其实最简单的方式就是代码实现点击的方法,后续处理才会直接接连调用,不用自己去构造那些过于复杂的方法和变量。

    至此自动添加好友的功能只差最后一步发送验证了,下篇再做分析实现吧。

    因为本文以微信7.0.3分析,部分代码和上篇不同,所以在GitHub给出完整代码

    https://github.com/hjw45611/WechatPlugin/

    使用请修改代码内的  "手机号/微信号/QQ号"

    展开全文
  • 一键复制微信号,适用web端,移动端,微信端,亲测有效,直接下载直接上手,很方便使用,分享给大家。移动端复制微信代码-跳转微信代码-微信复制代码-点击复制微信号。
  • 说明: 此效果不仅显示帖子地址还同时能复制下来帖子标题,省去了复制人自行添加标题的繁琐! 安装方法: ..."你已复制链接及标题,请粘贴到QQ|MSN等发给好友!"); } [removed]
  • WXID-QRCode:WXID加好友

    2021-05-30 03:39:06
    WXID-QRCode WXID加好友
  • 领英达到每周好友邀请上限怎么办? ...由于可以加大量人的原因,促使大家都在领英...如果在加好友时出现这个提示,表示你的领英账号已经达到这周的邀请上限了,这周就不能再发主动邀请了,只能等到下周再加了。 .
  • android studio实现微信好友列表功能,注意有一个jar包我没有放上来,请大家到MainActivity中的那个网址里面下载即可,然后把pinyin4j-2.5.0.jar复制粘贴到项目的app/libs文件夹里面,然后clean项目就可以使用了 ...
  • [Autojs脚本]光遇添加好友 支持网易国服,国际服,渠道服可能不支持 Autojs版本4.1.1 Alpha2 使用方式 下载并引入 使用Autojs打开本脚本 ...复制好友发送的添加好友链接 点击悬浮窗,运行脚本 粘贴链接,确定即可
  • 这部分不能设置为“display:none”,否则无法实现复制,如果不想展现id="target"的内容可以这样写 #target{ display:block; height:0px; opacity: 0; } 完整代码如下 <!DOCTYPE html> <...
  • 但领英对加好友是有很多限制的,一不小心就可能导致封号,相信这是使用领英的人经常遇到的问题,加着加着就封号了。在加好友时只要注意以下细节,一般是不会封号的。 短时间内不要加太多好友。 领英会监控你的操作...
  • QQ跳转加好友、加QQ群链接代码生成制作

    万次阅读 多人点赞 2019-01-26 17:14:29
    点击链接跳转到QQ好友链接怎么生成的? 网页版本点击跳转到添加好友界面: http://wpa.qq.com/msgrd?v=3&amp;uin=2445408174&amp;site=qq&amp;menu=yes 其中uin=2445408174 这后面的是个人QQ,你...
  • Java写的,其他语言自己翻译,其实就是一个随机数生成微信PC复制会自动加空格把这个a标签破坏掉,所以用其他工具...但是这种应该是没有真人的,我没加好友,自行测试。首先是mainpublic static void main(String[] a...
  • 博客怎么加好友

    2018-02-07 09:23:32
      复制这条连接 http://blog.csdn.net/MDZZ88888888 ...之后在右上方会出现搜索好友的头像,下面有个“”关注“”点击一下就可以了。 上面是本人的,如果想要了解更多关于博客的操作,欢迎关注。
  • 近期有发现越来越多的广告行业的商家都在寻找如何提升个人微信吸粉的通道,因为成本暴涨,各个广告渠道又不是很稳定,所以很多人都在咨询如何降低成本。如果采用微信的广告渠道,首先限量其次非常贵,所以只能通过...
  • 简介: 利用 Android AccessibilityService 实现自动加好友,拉人进群聊 更多:作者提 Bug 标签: 利用 AccessibilityService(无障碍) 实现操作自动化 WechatHelper是用 Kotlin 语言编写的,利用 Andro...
  • 今天小编就为大家分享一篇关于易语言通过按键模拟的方式实现QQ后台加人群的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 通过把脚本挂到服务器上,自此告别手动挡,不用去手动转发小宇宙, 不用手动加好友,然后把别人一个个拉到我的Py交易群里。正当我 暗自窃喜的时候,微信并没有放过我这只小猫咪。 我还记得那天早上,我...
  • 外部H5页面内实现关注公众号的微信JSSDK没有相关接口开放,因此就得动点脑筋来实现该功能了。下面的方法就是通过一种非常蹊跷的方式实现的。 首先,需要在公众号内发表一篇原创文章,注意是原创文章,然后由另一个...
  • 按键精灵之微信加好友

    热门讨论 2013-10-17 11:12:44
    通过android的模拟器bluestacks进行微信自动添加好友等功能,其中涉及到模拟器,微信,地理位置改变等等。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,082
精华内容 6,832
关键字:

怎样复制加好友