using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.diagnostics;
using system.drawing;
using system.linq;
using system.runtime.interopservices;
using system.text;
using system.threading.tasks;
using system.windows.forms;
namespace l014readwechatmemory
private
void
button1_click
(object sender,
eventargs e)
}break;}
}if(wxprocess ==
null
)int wxnameaddress =
(int
)wechatwinbaseaddress +
0x1131b90
;this
.textbox1.(+
"0x"+(
(int
)(wxnameaddress)).
tostring
("x8"
)+ environment.newline)
;this
.textbox1.(+
getstring
(wxprocess.handle,
(intptr)wxnameaddress)
+ environment.newline)
;int wxnicknameaddress =
(int
)wechatwinbaseaddress +
0x1131c64
;this
.textbox1.(+
"0x"+(
(int
)(wxnicknameaddress)).
tostring
("x8"
)+ environment.newline)
;this
.textbox1.(+
getstring
(wxprocess.handle,
(intptr)wxnicknameaddress)
+ environment.newline);}
string
getstring
(intptr hprocess,
intptr lpbaseaddress,
int nsize =
100)
string result ="";
string tempstring = encoding.ascii.
getstring
(data)
;// \0
foreach
(char item in tempstring)
result +
= item.
tostring()
;}return result;}[
dllimport
("kernel32.dll")]
//bool readprocessmemory(
// handle hprocess,
// lpcvoid lpbaseaddress,
// lpvoid lpbuffer,
// size_t nsize,
// size_t* lpnumberofbytesread
//);
public
static
extern
intreadprocessmemory
(intptr hprocess,
//正在讀取記憶體的程序控制代碼。控制代碼必須具有process_vm_read訪問許可權。
intptr lpbaseaddress,
//指向要從中讀取的指定程序中的基址的指標。在發生任何資料傳輸之前,系統會驗證基本位址和指定大小的記憶體中的所有資料是否都可以進行讀訪問,如果無法訪問,則該函式將失敗。
byte
lpbuffer,
//指向緩衝區的指標,該緩衝區從指定程序的位址空間接收內容。
int nsize,
//要從指定程序讀取的位元組數。
int lpnumberofbytesread //指向變數的指標,該變數接收傳輸到指定緩衝區的位元組數。如果lpnumberofbytesread為null,則忽略該引數。);
}}
PC微信讀取微信好友列表 聯絡人
hook相關call來實現攔截聯絡人資料 讀取記憶體中的包含聯絡人的二叉樹結構 找call請看 成品軟體和dll 軟體是用aardio寫的,dll是用c 寫的 效果圖 相比於第一種方法,這個更簡單,連寫dll注入都不需要。只要讀記憶體中的資料就行。首先我們需要找到二叉樹的根節點位址,方法請看 環境聲...
原創 PC微信逆向分析 WeTool內部探秘
這又是為什麼呢?wetool為 wehelp.dll 設定了一道阻止 動態除錯 的障礙,這讓所有的動態偵錯程式,在沒有特殊處理前,對它根本無法下手。如果能繞道而行,那何必強攻呢?於是我們請出靜態分析的利器 ida pro 32。注意,這裡務必使用32位版本的,因為只有在32位版本中,才可以把彙編 轉...
微信協議分析 pc端記錄
首先發現這個報文是和手機端就不一樣,當手機向pc傳送訊息時,是先傳送乙個不知名報文,然後pc端返回一段比較長的報文,然後才會收到真實資料報文。通過記憶體斷點,目前發現pc端返回的斷點可能是用來給真實收到的報文解密的。具體除錯方式如下 下記憶體斷點,檢視訪問資料段的地方。這裡記憶體斷點下在靠後的部分,...