C 對現有程式增加外包裝註冊碼 一 註冊程式

2021-09-30 13:43:55 字數 1673 閱讀 6657

最近拜人所託,把乙個無比簡單的程式record-playback.exe加乙個包裝,實現程式註冊功能。

實現思路:獲取本地網絡卡mac位址,並對其進行加密生成初始碼。由使用者提供初始碼,通過相應規則再次加密生成加密串為註冊碼。在註冊程式中註冊校驗時,如果校驗通過則將加密串儲存在本地生成的檔案中。下次登陸的時候首先讀取並校驗本地檔案中的加密串,如果校驗通過則直接執行程式,如果校驗不通過則開啟註冊程式。

程式介面:

實現**:

using system;

using system.windows.forms;

using system.management;

using system.web.security;

using system.web;

using system.security.cryptography;

using system.runtime.interopservices;

using system.linq;

using system.text;

using system.collections.generic;

using system.io;

/*pocksoft註冊是通過獲取本地網絡卡實體地址(mac),進行md5加密後擷取前15位獲得初始碼並置於「第一步」的位置。通

過第一步生成的 初始碼+shy 再進行一次md5加密,得到註冊碼。在註冊成功後則會在本地生成相應的配置檔案,後續登陸

則不再要求註冊。

*/namespace packsoft

[dllimport("kernel32")]  //呼叫動態庫

public static extern int winexec(string exename, int opertype);  //定義執行類

public static string runexe()  //執行檔案

public static string getmacstring()  //獲取mac位址

}mo.dispose();

return null;

}public static string read(string path)  //在path路徑下面讀取配置檔案內容

//關閉流

sr.close();  //記得一定要關閉,否則配置檔案會處於占用狀態

}return read;

}public void write(string path, string str)  //在path路徑下面檔案寫入輸入str

else

}public static string userinfo = new string[4];

public static string md5encrypt(string strtext)  //md5演算法加密 sha1 //

private void packsoft_load(object sender, eventargs e)  //視窗初始化

}private void button2_click(object sender, eventargs e)

private void button1_click(object sender, eventargs e)

else}}

}安裝檔案:

生成安裝檔案時將record-playback.exe檔案設定為隱藏,不然前面做的都白費力氣了。

對拍程式c

對拍就是你給兩個程式和乙個隨機資料生成器,然後系統用隨機資料生成器的輸出資料作為你這兩個程式的輸入,比較這兩個程式的輸出,找到這兩個程式輸出不一樣的一組資料。data.exe是資料生成程式 test.exe是你需要檢查的程式 ac.exe是正確的程式 這三個程式需要放在同一目錄下,執行以下對拍程式即...

c 程式對怕

以某個題為例 description 給出乙個序列,包含n個數,有正數 0及負數。現取連續的一段數,問它們和的絕對值的最小 最大值分別為多少?input 第一行乙個數n,表示序列長度。1 n 1e5 第二行包含n個整數,a 1 a 2 a n 1e7 a i 1e7 output 一行包含兩個數 最...

Release 對程式的優化 C

c 程式執行有debug模式和release模式 一般用於程式除錯,對 不會有任何的優化,還會加入很多檢測的節點,執行效率很低,速度慢 用於程式發布版本的執行方式,會對程式進行深度 徹底的優化,執行效率高,速度快 變數 定義的變數,比如 int a 1 不管中間進行多麼複雜的運算 變化,只要最後沒有...