模擬人生4無法定位程式輸入點,模擬人生4 無法定位程式輸入點 except1 於動態鏈結庫 MSVCR120 dll

時間 2022-03-18 17:52:37

1樓:楓葉樸璐

第一步,我先從簡單的呼叫出發,定義了乙個簡單的函式,該函式僅僅實現乙個整數加法求和:

libexport_api int mysum(int a,int b)

c# 匯入定義:

public class refcomm

在c#中呼叫測試:

int isum = refcomm.mysum(,);

執行檢視結果isum為5,呼叫正確。第一步試驗完成,說明在c#中能夠呼叫自定義的動態鏈結庫函式。

第二步,我定義了字串操作的函式(簡單起見,還是採用前面的函式名),返回結果為字串:

libexport_api char *mysum(char *a,char *b)

c# 匯入定義:

public class refcomm

在c#中呼叫測試:

string strdest="";

string strtmp= refcomm.mysum("45", strdest);

執行檢視結果 strtmp 為"45",但是strdest為空。我修改動態鏈結庫實現,返回結果為串b:

libexport_api char *mysum(char *a,char *b)

修改 c# 匯入定義,將串b修改為ref方式:

public class refcomm

在c#中再呼叫測試:

string strdest="";

string strtmp= refcomm.mysum("45", ref strdest);

執行檢視結果 strtmp 和 strdest 均不對,含不可見字元。再修改 c# 匯入定義,將charset從auto修改為ansi:

public class refcomm

在c#中再呼叫測試:

string strdest="";

string strtmp= refcomm. mysum("45", ref strdest);

執行檢視結果 strtmp 為"45",但是串 strdest 沒有賦值。第二步實現函式返回串,但是在函式出口引數中沒能進行輸出。再次修改 c# 匯入定義,將串b修改為引用(ref):

public class refcomm

執行時呼叫失敗,不能繼續執行。

第三步,修改動態鏈結庫實現,將b修改為雙重指標:

libexport_api char *mysum(char *a,char **b)

c#匯入定義:

public class refcomm

在c#中呼叫測試:

string strdest="";

string strtmp= refcomm. mysum("45", ref strdest);

執行檢視結果 strtmp 和 strdest 均為"45",呼叫正確。第三步實現了函式出口引數正確輸出結果。

第四步,修改動態鏈結庫實現,實現整數引數的輸出:

libexport_api int mysum(int a,int b,int *c)

c#匯入的定義:

public class refcomm

在c#中呼叫測試:

int c=0;

int isum= refcomm. mysum(,, ref c);

執行檢視結果isum 和c均為5,呼叫正確。

經過以上幾個步驟的試驗,基本掌握了如何定義動態庫函式以及如何在 c# 定義匯入,有此基礎,很快我實現了變長加密函式在 c# 中的呼叫,至此目標實現。

三、結論

在 c# 中呼叫 c++ 編寫的動態鏈結庫函式,如果需要出口引數輸出,則需要使用指標,對於字串,則需要使用雙重指標,對於 c# 的匯入定義,則需要使用引用(ref)定義。

對於函式返回值,c# 匯入定義和 c++ 動態庫函式宣告定義需要保持一致,否則會出現函式呼叫失敗。定義匯入時,一定注意 charset 和 callingconvention 引數,否則導致呼叫失敗或結果異常。執行時,動態鏈結庫放在 c# 程式的目錄下即可,我這裡是乙個 c# 的動態鏈結庫,兩個動態鏈結庫就在同乙個目錄下執行。

2樓:

我告訴你上面就是扯淡,最直接的方法就是開啟遊戲目錄下的「__installer」然後「vc」在「vc2013」裡面有個「redist"的檔案。開啟安裝兩個安裝包就可以了。我下的是遊民星空免安裝版。

3樓:匿名使用者

恢復登錄檔就好了,檔案內有個origin.games.reg.tools.v1.0-3dm程式,執行下就恢復了

模擬人生4需要什麼配置,模擬人生4配置要求?

r5 2600效能不錯的 記憶體也夠 只要獨顯可以玩起沒問題 按說應該可以玩 r5 2600屬於中端的cpu 其測試引數等同於i5 8400 甚至要好於8400 所以應該不存在cpu帶不動的情況 問題應該出在顯示卡上 你給的圖沒有顯示卡引數 2600又沒有核顯 所以問題估計就在顯示卡上 你看看你的顯...

模擬人生4巫毒娃娃怎麼得模擬人生4巫毒娃娃怎麼用

2 房子周邊有可以挖的岩石 然後有機率得到藏寶圖 然後再找乙個可以挖的岩石點選挖寶,消耗乙個藏寶圖有機率粗線惡毒娃娃 3 電腦訂購,有乙個是巫毒娃娃。4 購買多個巫毒娃娃後 我買了30個 如果繫結乙個人,然後解綁。之後巫毒娃娃就再也不能賣出,可以放在世界中,然後點選世界中的巫毒娃娃繫結某人,但是手中...

模擬人生4玩久了特別卡怎麼辦,模擬人生4玩久了特別卡怎麼辦

明月飄落深海 模擬人生4的優化存在很多bug,即使是最頂端的配置也會存在後期系統反應遲鈍的現象。比如說,你對乙個人物下達了指令,可是他卻還在執行上乙個動作,長時間沒有進一步的反應,ea的玩家在早期就發現了這個致命缺陷,這也是導致sim4沒有sim3銷量好的原因。網上有很多帖子提供了解決的方法,樓主可...

模擬人生4需要什麼樣的配置,模擬人生4需要什麼配置

最低配置 作業系統 windows xp sp3 windows vista sp2 windows 7 sp1 windows 8,或者windows 8.1 cpu 1.8 ghz intel 雙核處理器 amd速龍64雙核4000 記憶體 2 gb 顯示卡 nvidia geforce 660...

模擬人生4吸血鬼能力點數秘籍模擬人生4吸血鬼能力怎麼提高

飛虎王分別有3個技能,第乙個技能是經驗加成,第二個技能是加速 遊戲倒計時10秒時有機率觸發,按空格鍵可以無限加速到終點。第三個技能是撞擊保護,這三個技能都是根據等級上公升而增加機率與加成的。經驗加成27級應該是47 到30級就是50 模擬人生4吸血鬼能力和弱點怎麼選擇最好?不開秘籍 吸血鬼的能力及優...