2010-09-05 47 views
0

從調試程序我只知道,在點擊一個按鈕之前,一組已知數據不在內存中(通過內存搜索確認),點擊後數據在內存中(所有時間都是不同的位置)。如何查找生成已知數據的代碼?

如何找到生成此數據的代碼?

其中一個主要問題(可能很重要)知道它是一個.net程序(我無法用Reflector分析它,因爲它被混淆了)。所以我正在分析由.NET生成的程序集(在Olly/Immunity/IDA中)。

回答

0

如果是.Net,則可以調試IL代碼。這並不容易,但應該可以找到將序列寫入內存的il指令。

嘗試debugging tools for windows與所謂的SOS擴展名。

您也可以嘗試是否可以從混淆程序集中生成用於調試的C#代碼。但是這絕對不會比IL更好的可讀代碼。

+0

無法以某種方式找到生成我的預知數據的.NET-Framework生成的彙編指令? – 2010-09-05 19:03:47

+0

我不知道這樣的方法。我能想到的唯一方法是從處理按鈕單擊事件的方法開始調試代碼,如果你能在il中找到這一點。 – schoetbi 2010-09-05 21:51:37

+0

通過該代碼進行調試幾乎是不可能的,因爲.NET會生成大量代碼。我嘗試了按鈕單擊的指令跟蹤,並在8小時後停止,因此幾乎不可行。 – 2010-09-06 05:10:56

0

添加作弊引擎到您的工具包。

如果你能得到地址,它會寫給你,可以右鍵點擊它並選擇「找出什麼寫到這個地址」。

P.S.對於相反的效果,您可以在內存視圖中選擇一條指令,單擊右鍵並選擇「查找指定此指令的訪問權限」。

相關問題