博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NOD32升级账号更新器 [ C# | NOD32 | Eset ]
阅读量:5954 次
发布时间:2019-06-19

本文共 2881 字,大约阅读时间需要 9 分钟。

1.  先贴效果图

                

2.      原理与功能

            2.1      原理非常简单,从抓取最新的用户名和密码,然后更新到注册表中。

            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  安装程序

                   解压安装即可。

            4.2  可直接运行的EXE文件,需要Framework 2.0

                  

            4.3  源代码

                 

5.      注意

            由于更新升级ID稍慢导致ID无效,需要你重复点击"立即更新"来尝试其他的升级ID,如果本程序更新的ID都无法使用,也代表上面这个网站的升级ID无法使用!比如2009-5-15更新的升级ID中只有最后一组可以使用!

后期维护
      1.      2009-7-20

            修正两个BUG,分别是密码为空是更新出错和匹配用户名密码没考虑Username和Password这种情况,更新exe下载,替换NodFix.exe就行:
            
      2.      2009-8-3
            紧急修正分析结果未加Tirm()的BUG,同上,替换NodFix.exe就行:
            

  3.  2009-9-4

    由于nod321.com网站被关闭,在本软件失效之际找到另外一个提供免费升级ID的网站:nod320.org,小有改动代码,请下载替换NodFix.exe:

    

  4.  2009-9-20

    nod320.org改了匹配的用户名 - -#,请替换NodFix.exe,也附加本次的源代码,自己用闲工夫的人把这个程序改成一个字典形式的吧,我懒 - - #。

    EXE:  

    SRC:  

  5.  2011-3-25

已经购买正版360版ESET NOD32,40元一年。上班已经4年,能承受得起这个费用了,支持正版!本文源代码要是觉得有价值可以下载学习一下,主要是操作注册表。
本文转自博客园农民伯伯的博客,原文链接:
,如需转载请自行联系原博主。
你可能感兴趣的文章
洛谷 P2486 BZOJ 2243 [SDOI2011]染色
查看>>
linux 笔记本的温度提示
查看>>
数值积分中的辛普森方法及其误差估计
查看>>
Web service (一) 原理和项目开发实战
查看>>
跑带宽度多少合适_跑步机选购跑带要多宽,你的身体早就告诉你了
查看>>
广平县北方计算机第一届PS设计大赛
查看>>
深入理解Java的接口和抽象类
查看>>
java与xml
查看>>
Javascript异步数据的同步处理方法
查看>>
iis6 zencart1.39 伪静态规则
查看>>
SQL Server代理(3/12):代理警报和操作员
查看>>
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>
JFreeChart开发_用JFreeChart增强JSP报表的用户体验
查看>>
度量时间差
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>