Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > VB.NET > 逆向生成的Dimac.JMail工程及测试项目
【标  题】:逆向生成的Dimac.JMail工程及测试项目
【关键字】:Dimac.JMail
【来  源】:http://WuCountry.cnblogs.com/archive/2006/02/17/332355.html

逆向生成的Dimac.JMail工程及测试项目

Your Ad Here 博客园 - Wu.Country@侠缘 - 逆向生成的Dimac.JMail工程及测试项目

Wu.Country@侠缘

Wu.Country@侠缘

逆向生成的Dimac.JMail工程及测试项目

严重申明:本方案中的两个工程由Dimac.JMail逆向生成,版权归Dimac公司所。任何单位或个人不得将工程里的任何代码用于商业用途。本工程只做讨论及学习使用。对于其它行为的,对当事人自己负全部的责任。对于下载本测试代码的任何人,都视为同意此申明里的所有内容。

不知道MS对此会有怎样的说明。对于一个生成DLL的文件,可以用工具轻松的逆向转化为工程文件,而且可以通过编译而后编译成与源DLL字节大小完全一样的文件来,而且可以正常使用。

对于一些大一点的DLL文件,可能逆向出来的文件很多,所以编译一时不能通过,但经过细心的修改后,也还是可以的。测试过三个项目,一个是MS自己的Web Controls,第二个是MS的WebService文件,而另一个是Dimac的JMail。前面两个有些复杂,短时间内无法修改让其通过编译,而对于Dimac.JMail,经过小的改动,可以通过编译,且正常工作。

索性加上自己以前写的Mail管理类,然后一起做一个小测试项目。
部份代码:
IMail接口:

using System;

namespace Webb.WAVE.Controls
{
    
/// <summary>
    
/// Summary description for Webb.
    
/// </summary>

    public interface IEMail:IDisposable
    
{
        
string ServerName{get;set;}
        
string ServerLoginName{get;set;}
        
string ServerLoginPassword{set;}
        
string Subject{set;get;}
        
string Body{set;get;}
        
string HTMLBody{set;get;}
        
string From{set;get;}        
        
//
        void AddToAddress(string i_address);
        
void AddCcAddress(string i_address);
        
void SendEMail();
    }

}

JMailDotNet类:

using System;
using Dimac.JMail;
using System.Data;

namespace Webb.WAVE.Controls
{
    
/// <summary>
    
/// 
    
/// </summary>

    public class JMailDotNet:IEMail
    
{
        
Fields

        
Properties

        
public JMailDotNet()
        
{
            m_message    
= new Message();
        }


        
public JMailDotNet(bool i_systemServer)
        
{
            m_message    
= new Message();
//            this.m_password        = WaveSystem.SystemVarible["EmailServerPassword"].ToString();
//            this.m_loginName    = WaveSystem.SystemVarible["EmailServerLoginName"].ToString();
//            this.m_server        = WaveSystem.SystemVarible["EmailServer"].ToString();
        }


        
IEMail Members

        
IDisposable Members
    }

}


邮件管理类:其中注释掉了在其它项目里使用的函数,但这些函数也可以做为学习的例子。

using System;
using System.Data;
using Dimac.JMail;

namespace Webb.WAVE.Controls
{
    
/// <summary>