NOD32升级账号更新器 [ C# | NOD32 | Eset ]
前言
??????NOD32的大名這里就不介紹了,一直使用免費的升級服務器或升級ID,很臉紅的說一句:“有錢了一定買正版的!”。
?
聲明
??????本軟件僅限于參考學習之用,請勿用于其他非法用途!
?
參考文章
?
1. 編程讀取NOD32 注冊表內的用戶名和密碼(Delphi)
2. ESET(NOD32)有效ID自動獲取、檢查、寫入注冊表 純VBS腳本(論壇要注冊,直接下載)
?
運行環境
??????1.??????Microsoft .NET Framework 2.0
?
正文
1. 先貼效果圖
?????????????
?
??????2.??????原理與功能
????????????2.1??????原理非常簡單,從http://www.nod321.com/抓取最新的用戶名和密碼,然后更新到注冊表中。
????????????2.2??????啟動進入界面,直接點擊"立即更新"按鈕就行了,本版沒有加入判斷是否已經聯網,所以需要你先確定自己是否能夠上網!如果連續點擊立即更新的話,會按上面網頁中出現的升級ID從上到下依次設置為當前升級ID。
?
??????3. 部分代碼
????????????3.1??????異步分析下載
????????///?<summary>????????///?異步更新
????????///?</summary>
????????///?<param?name="sender"></param>
????????///?<param?name="e"></param>
????????private?void?btnUpdating_Click(object?sender,?EventArgs?e)
????????{
????????????AppendMessage("開始連接\r\n",?Color.Blue);
????????????using?(WebClient?wClient?=?new?WebClient())
????????????{
????????????????AutoResetEvent?waiter?=?new?AutoResetEvent(false);
????????????????wClient.Credentials?=?CredentialCache.DefaultCredentials;
????????????????wClient.DownloadDataCompleted?+=?new?DownloadDataCompletedEventHandler(AsyncURIAnalyze);
????????????????wClient.DownloadDataAsync(new?Uri(URL_USER),?waiter);
????????????????//waiter.WaitOne();?????//阻止當前線程,直到收到信號
????????????}
????????}
????????///?<summary>
????????///?異步分析
????????///?</summary>
????????///?<param?name="sender"></param>
????????///?<param?name="e"></param>
????????protected?void?AsyncURIAnalyze(Object?sender,?DownloadDataCompletedEventArgs?e)
????????{
????????????//消息
????????????AppendMessage("已連接,正在分析\r\n",?Color.Blue);
????????????//獲取數據
????????????string?pageData?=?Encoding.UTF8.GetString(e.Result);
????????????MatchCollection?matchs?=?Regex.Matches(pageData,?REGULAR_USER,?RegexOptions.IgnoreCase);
????????????foreach?(Match?match?in?matchs)
????????????{
????????????????string[]?values?=?match.Value.Replace("<br/>",?"@").Split('@');
????????????????string?username?=?values[0].Replace("UserName:",?string.Empty).Trim();
????????????????string?password?=?values[1].Replace("PassWord:",?string.Empty).Trim();
????????????????if?(!users.Contains(username))
????????????????{
????????????????????users.Add(username);
????????????????????Regedit(username,password);
????????????????????
????????????????????break;
????????????????}
????????????}
????????}
??????????????3.2??????Nod32的密碼加密與解密
????????///?<summary>????????///?解密
????????///?</summary>
????????///?<param?name="buf"></param>
????????///?<returns></returns>
????????private?string?byte2str(byte[]?buf)
????????{
????????????StringBuilder?pwd?=?new?StringBuilder();
????????????if?(buf?!=?null)
????????????{
????????????????for?(int?i?=?0,?j?=?mask.Length;?i?<?j;?i?+=?2)
????????????????{
????????????????????pwd.Append((char)(buf[i]?^?mask[i]));
????????????????}
????????????}
????????????return?pwd.ToString();
????????}
????????///?<summary>
????????///?加密
????????///?</summary>
????????///?<param?name="str"></param>
????????///?<returns></returns>
????????private?byte[]?str2byte(string?str)
????????{
????????????byte[]?buf?=?Encoding.ASCII.GetBytes(str);
????????????byte[]?result?=?new?byte[buf.Length?*?2];
????????????if?(buf?!=?null)
????????????{
????????????????for?(int?i?=?0,?j?=?0;?i?<?mask.Length;?i++,?j++)
????????????????{
????????????????????result[i]?=?(byte)(buf[j]?^?mask[i]);
????????????????????result[++i]?=?mask[i];
????????????????}
????????????}
????????????return?result;
????????}
?
??????4. 下載
????????????4.1 安裝程序
??????????????????NodFixSetup.rar 解壓安裝即可。
????????????4.2 可直接運行的EXE文件,需要Framework 2.0
?????????????????NodFix.rar?
????????????4.3 源代碼
?????????????????NodFixSrc.rar
?
??????5.??????注意
????????????由于http://www.nod321.com/更新升級ID稍慢導致ID無效,需要你重復點擊"立即更新"來嘗試其他的升級ID,如果本程序更新的ID都無法使用,也代表上面這個網站的升級ID無法使用!比如2009-5-15更新的升級ID中只有最后一組可以使用!
后期維護
??????1.??????2009-7-20
????????????修正兩個BUG,分別是密碼為空是更新出錯和匹配用戶名密碼沒考慮Username和Password這種情況,更新exe下載,替換NodFix.exe就行:
??????????? NodFix2009-7-20.rar
??????2.??????2009-8-3
????????????緊急修正分析結果未加Tirm()的BUG,同上,替換NodFix.exe就行:
????????????NodFix2009-8-3.rar
?
3. 2009-9-4
由于nod321.com網站被關閉,在本軟件失效之際找到另外一個提供免費升級ID的網站:nod320.org,小有改動代碼,請下載替換NodFix.exe:
NodFix2009-9-4.rar
4. 2009-9-20
nod320.org改了匹配的用戶名 - -#,請替換NodFix.exe,也附加本次的源代碼,自己用閑工夫的人把這個程序改成一個字典形式的吧,我懶 - - #。
EXE: NodFix2009-9-20_EXE.rar
SRC: NodFix2009-9-20_SRC.rar
?
5. 2011-3-25
已經購買正版360版ESET NOD32,40元一年。上班已經4年,能承受得起這個費用了,支持正版!本文源代碼要是覺得有價值可以下載學習一下,主要是操作注冊表。?
?
結束
??????自己動手,豐衣足食!?短時間內不用到處找升級ID了,而且用起來放心,有源代碼在這呢 : )順便還學習了一下Winform打包:? )
?
總結
以上是生活随笔為你收集整理的NOD32升级账号更新器 [ C# | NOD32 | Eset ]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html怎么用excel打开乱码,exc
- 下一篇: VS.NET(C#)-5.18_IIS6