日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

PC微信逆向:分析发送xml名片call

發(fā)布時(shí)間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PC微信逆向:分析发送xml名片call 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 微信版本
    • 定位發(fā)送xml名片call
      • 發(fā)送xml名片call的切入點(diǎn)
      • 定位選擇聯(lián)系人的call
      • 定位發(fā)送xml名片的call
        • 定位接收者的微信ID
        • 定位發(fā)送xml名片的call
        • 驗(yàn)證發(fā)送xml名片的call
      • 方法擴(kuò)展

微信版本

定位發(fā)送xml名片call

發(fā)送xml名片call的切入點(diǎn)

在發(fā)送xml名片時(shí),需要先選擇一個(gè)對(duì)象,我們首先要找的是選擇的call。找到了選擇的call,就能確定要發(fā)送的對(duì)象的微信ID的地址了。有了要發(fā)送對(duì)象的微信ID的地址之后就能下一個(gè)內(nèi)存訪問(wèn)斷點(diǎn),通過(guò)棧回溯找到發(fā)送xml名片的call

定位選擇聯(lián)系人的call

那么如何定位到選擇聯(lián)系人的call呢?

可以通過(guò)上面的字符串的區(qū)別從而定位到字符串的位置,然后下內(nèi)存寫(xiě)入斷點(diǎn),再定位到選擇的call

在CE中搜索已選擇了1個(gè)聯(lián)系人,找到存放字符串的地址

變化選擇的聯(lián)系人,最終確定字符串的地址,接著在OD中對(duì)這個(gè)地址下內(nèi)存寫(xiě)入斷點(diǎn)

然后在微信選擇一個(gè)聯(lián)系人,程序斷下。此時(shí)刪除斷點(diǎn)。既然要找選擇聯(lián)系人的call,那么這個(gè)call里面必定有一個(gè)參數(shù)是當(dāng)前選中的微信ID,根據(jù)這個(gè)線索,我們?cè)诙褩V姓乙粋€(gè)帶有微信ID的返回地址

反匯編窗口跟隨,這個(gè)call就是選擇聯(lián)系人的call

定位發(fā)送xml名片的call

定位接收者的微信ID

接著我們?cè)谶x擇聯(lián)系人的call下斷,在微信中選擇文件助手,讓程序斷下

此時(shí)堆棧的參數(shù)中有選中的微信ID,我們只要通過(guò)對(duì)這個(gè)微信ID下內(nèi)存訪問(wèn)斷點(diǎn),棧回溯分析,就能找到發(fā)送xml名片的call。

但是,這個(gè)ID我們是不能用的,因?yàn)樗划?dāng)作一個(gè)參數(shù)傳入函數(shù)中,這個(gè)微信ID是個(gè)局部變量,只要函數(shù)一結(jié)束,微信ID會(huì)自動(dòng)銷(xiāo)毀。所以我們需要找到函數(shù)調(diào)用后被賦值為微信ID的變量地址,然后對(duì)這個(gè)微信ID的地址下內(nèi)存訪問(wèn)斷點(diǎn)

我們首先在CE中添加這個(gè)地址

接著將這個(gè)微信ID修改為一個(gè)比較獨(dú)特的值,然后F8步過(guò)這個(gè)函數(shù)

搜索修改之后的微信ID,此時(shí)多了1個(gè)地址。這個(gè)多出來(lái)的1個(gè)地址就是我們所需要的。如果多出來(lái)兩個(gè)地址,可以直接按F9讓程序運(yùn)行,此時(shí)地址只剩下一個(gè)。

定位發(fā)送xml名片的call

對(duì)找到的微信ID的地址下內(nèi)存訪問(wèn)斷點(diǎn),F9運(yùn)行程序

點(diǎn)擊發(fā)送,此時(shí)程序斷下,分析附近堆棧

在堆棧的地址中找到一個(gè)參數(shù),里面有微信ID,那么這個(gè)很有可能就是我們需要的call。在這個(gè)地方下斷點(diǎn)

程序斷下,此時(shí)eax為微信ID,ecx為空。那么這個(gè)不是我們需要的call,繼續(xù)F8單步往下走

此時(shí)我們看到這個(gè)call將ForwardShareCard這個(gè)字符串傳入了堆棧,這個(gè)英文的意思是轉(zhuǎn)發(fā)分享名片,那么可以猜測(cè)這個(gè)函數(shù)應(yīng)該和發(fā)送xml名片的call有關(guān)系。繼續(xù)往下單步

這里有個(gè)call eax,此時(shí)ecx指向我們分享的名片的微信ID,那么這個(gè)函數(shù)應(yīng)該和發(fā)送xml名片是有關(guān)系的,我們F7進(jìn)入函數(shù)。

一直單步到這里我們找到了一個(gè)call,此時(shí)eax指向一個(gè)xml的數(shù)據(jù)

edx指向接收者的微信ID,那么這個(gè)call就非常有可能是我們要找的發(fā)送名片的call

驗(yàn)證發(fā)送xml名片的call

那么怎么驗(yàn)證呢?我們修改接收者的微信ID,讓原本發(fā)送給文件助手的xml名片發(fā)給好友,如果xml名片發(fā)給了微信好友,那么可以證明這個(gè)就是我們要的發(fā)送xml名片的call

方法擴(kuò)展

依次類(lèi)推,這種方法可以定位大多數(shù)的微信功能的call,只要是帶有這種選擇框的call,都可以通過(guò)這種方法,先找到選擇的函數(shù),然后再通過(guò)微信接收者的ID,下內(nèi)存訪問(wèn)斷點(diǎn),棧回溯分析附近代碼找到所需要的call

目前微信機(jī)器人的成品已經(jīng)發(fā)布,需要代碼請(qǐng)移步Github。還請(qǐng)親們幫忙點(diǎn)個(gè)star
https://github.com/TonyChen56/WeChatRobot

總結(jié)

以上是生活随笔為你收集整理的PC微信逆向:分析发送xml名片call的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。