NOD32升级账号更新器 [ C# | NOD32 | Eset ]

简介:

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年,能承受得起这个费用了,支持正版!本文源代码要是觉得有价值可以下载学习一下,主要是操作注册表。
本文转自博客园农民伯伯的博客,原文链接:NOD32升级账号更新器 [ C# | NOD32 | Eset ] ,如需转载请自行联系原博主。
目录
相关文章
|
C# 数据安全/隐私保护 移动开发
|
监控 C# 数据安全/隐私保护
多进程监控自动关机工具升级远程关闭多台server——C# works with PowerShell
之前给单位做过一个多进程监控的自动关机工具,详见那篇blog。 这次领导又加了需求,说要等进程监控结束后,不止需要关闭主控端server,还需要关闭其他servers。于是就用到了我上篇文章所介绍的知识——通过PowerShell来远程管理计算机。
1266 0
|
3月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
150 3
|
3月前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
162 3
|
16天前
|
存储 C#
揭秘C#.Net编程秘宝:结构体类型Struct,让你的数据结构秒变高效战斗机,编程界的新星就是你!
【8月更文挑战第4天】在C#编程中,结构体(`struct`)是一种整合多种数据类型的复合数据类型。与类不同,结构体是值类型,意味着数据被直接复制而非引用。这使其适合表示小型、固定的数据结构如点坐标。结构体默认私有成员且不可变,除非明确指定。通过`struct`关键字定义,可以包含字段、构造函数及方法。例如,定义一个表示二维点的结构体,并实现计算距离原点的方法。使用时如同普通类型,可通过实例化并调用其成员。设计时推荐保持结构体不可变以避免副作用,并注意装箱拆箱可能导致的性能影响。掌握结构体有助于构建高效的应用程序。
39 7
|
2天前
|
安全 C# 开发者
【C# 多线程编程陷阱揭秘】:小心!那些让你的程序瞬间崩溃的多线程数据同步异常问题,看完这篇你就能轻松应对!
【8月更文挑战第18天】多线程编程对现代软件开发至关重要,特别是在追求高性能和响应性方面。然而,它也带来了数据同步异常等挑战。本文通过一个简单的计数器示例展示了当多个线程无序地访问共享资源时可能出现的问题,并介绍了如何使用 `lock` 语句来确保线程安全。此外,还提到了其他同步工具如 `Monitor` 和 `Semaphore`,帮助开发者实现更高效的数据同步策略,以达到既保证数据一致性又维持良好性能的目标。
8 0
|
2月前
|
存储 C# 开发者
C# 编程基础:注释、变量、常量、数据类型和自定义类型
C# 编程基础:注释、变量、常量、数据类型和自定义类型
28 1
|
3月前
|
开发框架 .NET Java
探索 C#编程的奥秘与魅力
【4月更文挑战第20天】C#是微软开发的现代、面向对象的编程语言,以其简洁语法、强大功能和跨平台支持脱颖而出。它支持自动垃圾回收、泛型、委托、LINQ,并广泛应用于桌面、Web、移动和游戏开发。C#拥有活跃的开发者社区和丰富的资源,是Unity游戏开发的首选语言。随着.NET Core,C#可在多个操作系统上运行,持续创新,未来发展潜力巨大。
156 11
|
3月前
|
存储 安全 网络安全
C#编程的安全性与加密技术
【4月更文挑战第21天】C#在.NET框架支持下,以其面向对象和高级特性成为安全软件开发的利器。本文探讨C#在安全加密领域的应用,包括使用System.Security.Cryptography库实现加密算法,利用SSL/TLS保障网络传输安全,进行身份验证,并强调编写安全代码的重要性。实际案例涵盖在线支付、企业应用和文件加密,展示了C#在应对安全挑战的同时,不断拓展其在该领域的潜力和未来前景。
220 5
|
3月前
|
IDE 程序员 C#
C#编程入门:从零开始的旅程
【4月更文挑战第20天】本文引导初学者入门C#编程,从环境搭建开始,推荐使用Visual Studio Community版作为IDE。接着,通过编写&quot;Hello, World!&quot;程序,介绍基本语法,包括数据类型、运算符和表达式。文章还涉及控制结构、函数和方法,以及面向对象编程概念。通过学习,读者将对C#有初步了解,并激发进一步探索编程世界的兴趣。
95 4