前言

如果有一批客户手机号还未添加到企业微信,一个个查询添加势必消耗大量时间和经历。如果能用逆向技术自动查询并添加,不可谓不是个不错的办法。实现起来不是很难,分两步

 
一、根据手机号查好友信息
1、人工操作步骤:点击“通讯录”-“新的客户”-“添加”—“输入手机号”—“点击”—“添加”

2、逆向实现:

1、初始化对话框实例空间

2、注册一个窗口类

3、创建窗口实例

4、手机号输入框的内存位置填写手机号

5、调用查询方法

 
二、添加好友
1.HOOK好友信息回调

通过Ollydbg工具找到查好友回调的位置,找一个合适的位置HOOK,拦截好友信息。可以获取到的信息有:userid、个人微信ID、昵称、头像等

__asm
    {
        pushad
        pushfd

        mov eax, dword ptr ds : [edi]
        push eax
        call dword ptr CallBack_WechatSerchFriend

        popfd
        popad

        call dword ptr ds : [edx + 0x12c]

        jmp dword ptr CSerchPhone::m_nJmpAddress
    }
2.执行添加好友方法

通过Ollydbg工具找到加好友的方法地址,然后内联汇编语句调用

__asm
        {
            pushad
            pushfd

            lea eax, dword ptr dwTempInit
            push eax
            call dword ptr dwCallInit
            add esp, 4
            mov ecx, dword ptr[eax]
            lea edx, dword ptr dwTempGet
            push edx
            mov eax, dword ptr[ecx]
            call dword ptr[eax + 0x1C]
            mov esi, dword ptr[eax]
            lea eax, dword ptr dwTempBuf
            push eax
            push 0
            push sendkey1
            push sendkey2
            push conversation_id
            push dtype
            lea eax, dword ptr dwParamValue
            push eax
            push pData
            push subType
            push 0
            push 0
            sub esp, 0x18
            mov ecx, esp
            push pV1
            call dwCallV1
            mov eax, dword ptr[esi]
            push dwKey1
            push dwKey2
            mov ecx, esi
            call dword ptr[eax + 0x1E8]

            popfd
            popad
        }


总结

Ollydbg找地址比较麻烦,不好描述。有兴趣交流或者需要现成的工具可以联系我

QQ:1031694913
————————————————
版权声明:本文为CSDN博主「cszrydn」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cszrydn/article/details/116498685

posted on 2021-05-07 18:55  bzryk  阅读(610)  评论(0编辑  收藏  举报