PC微信逆向:分析微信发送文件call
文章目錄
- 發送文件call的結構體參數分析
- 組合數據call的分析
- 定位發送文件的call
接上一篇文章,PCXX逆向:發送與接收消息的分析與代碼實現:https://blog.csdn.net/qq_38474570/article/details/93339861
發送文件call的結構體參數分析
首先在OD中定位到發送消息的call,不管是發送文件還是圖片都是需要經過這個call。
直接拉到函數頭部,發送一個文本消息讓OD斷下
接著查看一下壓入堆棧的參數,也就是eax的值,是之前分析過的發送艾特消息的結構體
然后在第一個地址數據窗口跟隨,在偏移為0的位置的消息類型,偏移為4的位置的發送的文件的絕對路徑,接著我們F7進入這個call,來分析整個call。
組合數據call的分析
這里發現了一個call,里面傳入了要發送的文件的絕對路徑,繼續往下走
這里有一個call傳入了接收者的微信ID,那么這個call就比較關鍵了,繼續單步
這里有一個call傳入一塊緩沖區
當單步過這個call時,緩沖區里寫入了接收者的微信ID和要發送的文件信息
定位發送文件的call
現在我們看到了這么多函數都傳入了相關的參數,那么到底哪個才是用來發送文件的call呢。
首先可以確定的是,這三個函數是一定要寫的
問題在于后面的這些函數到底要不要執行,如果要執行的話,執行哪一個才是關鍵?想要確定這個,就需要在每次測試的時候去nop掉其中一個函數,如果nop那個函數的時候崩潰了。就證明被nop的函數的一定要執行的
經過分析,最后一個call是一定要執行的,前面幾個call都是在組裝數據,最后一個可能才是發送文件的call。如果要寫代碼實現發送文件的話,需要連續調用這四個call
目前微信機器人的成品已經發布,需要代碼請移步Github。還請親們幫忙點個star
https://github.com/TonyChen56/WeChatRobot
總結
以上是生活随笔為你收集整理的PC微信逆向:分析微信发送文件call的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PC微信逆向:分析发送xml名片call
- 下一篇: Microsoft RTF栈溢出漏洞(C