阿里旺旺聊天发包CALL发送消息

之所以需要这个CALL是因为之前在淘宝卖一个软件时需要自动发消息功能,自己有时可能不在电脑旁,客人付款后就要把软件激活码及时发送出去。模拟按键又不太准确,所以找到了这个CALL。这段CALL代码是2013年找到的,现在应该也能用,放出来供有需要的人用。

具体怎么找到这个CALL的,自己也记不清了,阿里旺旺用的是UNICODE编码,这个CALL有两个参数wchar_t*类型的名称和wchar_t*类型的内容。

我在软件中把这个CALL包装成了一个成员函数,来看一下吧:

void Widget::sendMsg(QString nameX,QString textX)
{
    QString addr = ui->lineEdit_3->text();
    if(addr.isEmpty())
    {
        QMessageBox::warning(this,"提醒","ESI的值为空,请先向任意人发送一条信息");
    }
    QString sName = "cntaobao"+nameX;
    QString sText = textX;
    wchar_t sNameW[200]={0};
    wchar_t sTextW[2000]={0};
    memset(sNameW,0x0,sizeof(wchar_t) * 200);
    memset(sTextW,0x0,sizeof(wchar_t) * 2000);
    sName.toWCharArray(sNameW);
    sText.toWCharArray(sTextW);

    wchar_t* name = sNameW;
    wchar_t* text =sTextW;
    DWORD ecxAddr = addr.toULong();
    __asm
    {
        PUSHAD
        push 0x0
        push 0x0
        push 0x1
        mov eax,text
        push eax
        push 0x0
        mov edx,name
        push edx
        mov ecx,ecxAddr
        mov eax,dword ptr ds:[ecx+0x1DC]
        push eax
        mov edi,dword ptr ds:[eax]
        mov edx,dword ptr ds:[edi+0x28]
        call edx
        POPAD
    }
}

void Widget::sendMsg(QString nameX,QString textX)

这就是两个参数,旺旺姓名和需要发送的内容,ESI寄存器应该是一个基址,可以用OD看一下。

程序里可以自动找到这个ESI需要的基址,用HOOK实现的。

特征码是:

QString pattern ="558BEC6AFF68\\w{8}64A1000000005083EC18535657A1\\w{8}33C5508D45F464A3000000008BF9897DE08B45108B4D08C700000000008B01508D4DE8E8";
利用正则反汇编16进制查找的。
最后放出源代码和工程,需要用VC的编译器编译,工程会生成一个WangWangHwnd.dll,利用源码中的DllLoader.exe程序这个Dll注入到阿里旺旺中即可,源码中也有数据库

的操作,那是为了之前为了记录买家数据和获取激活码用的,无视即可。

源码下载地址:

http://download.csdn.net/detail/hats8888/9649238




  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值