微信逆向與界面仿製

微信逆向代碼現在已是滿天飛,我也是業餘愛好,寫了一個微信逆向與界面仿製的程序,先看一下界面。

這是信息欄,點最左邊”+“號按鈕可以多開:

這是好友欄,

這是功能欄中信息捕捉嗅探,處理一些信息確實挺方便實用

 

這就是我寫的一個HOOK微信的程序,能自動收款,自動回覆 嗅探羣內有用的信息等功能的一款軟件!當然也可以多開,同時HOOK!在Win10下運行,界面是QT製作的,表情在Win10中自動轉換了(Unicode編碼),有喜歡的朋友或技術探討的可以加個QQ聯繫:150311852.

微信的UI是duilib庫的,QT的庫簡單好用,但不足之處就是打包依賴庫太大了!

光一個Web庫達58M,確實就人感到無奈!

寫這個界面感覺最難處理的就是顯示信息的小框,四面圓角,左或右有一面還有一個尖頭,還要自適應寬度。

我的處理辦法是重新繪製一個圖片作爲文本背景,再根據窗口大小判斷是否要分割文本爲多少行,創建背景代碼如下:

 

    QPixmap pix(w,h);//定義一個圖片
    pix.fill(Qt::transparent);//透明填充
    setFixedSize(w,h);
    m_imageBg->setFixedSize(w,h);
    QPainter painter;
    painter.begin(&pix);
    painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);//消鋸齒
    QColor bg(255, 255, 255);//背景白色
    QColor line(200,200,200,100);//邊框灰色,透明度爲100
    if(!m_isSelf)//處理不是自己發的消息
    {
        m_txtContent->setStyleSheet("border:0px solid #efefef;background:white;font-size:14px;");//文本樣式
        m_txtContent->move(15,5);
        m_txtContent->resize(width()-20,height()-10);
        painter.setBrush(QBrush(bg));
        painter.setPen(line);
        painter.drawRoundedRect(7,0,width()-8,height()-1,4,4);//繪製一個圓角矩形

        //三角三個點座標,注意:三角形的右位置要能蓋住矩形框的左邊線!!!
        QPointF points[3] = {
            QPointF(0, 15),
            QPointF(8,10),//右邊的爲8,矩形的爲7,剛好蓋住邊線
            QPointF(8,20),
        };
        QPen pen;
        pen.setColor(bg);
        painter.setPen(pen);
        painter.drawPolygon(points, 3);

        //畫三角加邊夾角線,只有2根
        QPen penSanJiaoBian;
        painter.setPen(line);
        painter.drawLine( QPointF(0, 15), QPointF(8,10));
        painter.drawLine(QPointF(0, 15),QPointF(8,20));

        //內容
    }
    else//自己的消息
    {
        m_txtContent->setStyleSheet("border:0px solid #efefef;background:rgb(158,234,106);font-size:14px;");
        m_txtContent->move(5,5);
        m_txtContent->resize(width()-20,height()-10);
        bg=QColor(158,234,106);
        painter.setBrush(QBrush(bg));
        painter.setPen(line);
        painter.drawRoundedRect(0,0,width()-7,height()-1,4,4);

        //三角
        QPointF points[3] = {
            QPointF(width(), 15),
            QPointF(width()-8,10),
            QPointF(width()-8,20),
        };
        QPen pen;
        pen.setColor(bg);
        painter.setPen(pen);
        painter.drawPolygon(points, 3);

        //三角加邊
        QPen penSanJiaoBian;
        painter.setPen(line);
        painter.drawLine( QPointF(width()-0, 15), QPointF(width()-8,10));
        painter.drawLine(QPointF(width()-0, 15),QPointF(width()-8,20));
    }
    painter.end();

本軟件對轉賬收款也分析的非常詳細,能準確知道金額,也可以語音播報:

本軟件還有一功能沒有開發: 發送動畫表情  顯示圖片等!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章