首页 > 代码库 > 逆向第二课(逆向第一个.NET程序)

逆向第二课(逆向第一个.NET程序)

 

注:本文只演示如何破解,并不讲解原理,原理以及具体名词将在后续文章中详细讲解


一、编写第一个.NET程序(HelloWorld.exe)

既然要逆向.NET程序,我们就首先要有这个.NET程序,通过以下的步骤,将详细介绍如何编写一个.NET程序,并逆向分析其内部实现原理!

1.首先在开始编写程序前,需要安装.NET 2.0框架,框架下载地址:http://www.cr173.com/soft/25219.html

2..NET2.0框架安装完成之后,打开一个记事本,在里面写入如下代码,并且保存为HelloWorld.cs到桌面上

using System;
class Program
{
public static void Main()
{
Console.WriteLine("HelloWorld");
Console.ReadLine();
}
}

技术分享

 

3.运行cmd工具,输入”cd C:\Windows\Microsoft.NET\Framework\v2.0.50727”并敲回车

技术分享

 

4.输入”csc ”并且将说面上我们刚才创建的HelloWorld.cs文件拖放到cmd窗口,如图

技术分享

 

5.敲回车,之后我们的程序就编译完成了

技术分享

 

 

6.编译后的程序,在路径”C:\Windows\Microsoft.NET\Framework\v2.0.50727”下,名称为”HelloWorld.exe”

 

技术分享

 

7.我们双击运行该程序,将在界面上输出“HelloWorld“字样

技术分享

 

 

二、逆向HelloWold.exe

1.打开目录” C:\Program Files\MicrosoftSDKs\Windows\v7.0A\bin”下面的Ildasm.exe文件

技术分享

 

2.将刚才编写的”HelloWorld.exe”文件拖入Ildasm

技术分享

 

3.点击文件转储,之后会弹出转储选项,直接点击确定,将转储后的IL文件,保存到桌面的新建文件夹里。

技术分享

 

技术分享

 

技术分享

 

4.用记事本打开我们的”HelloWorld.il”文件,找到”HelloWorld”

 

技术分享

 

5.修改”HelloWorld”为,这是我破解的第一个程序,并且保存文件

 

 

技术分享

 

 

6.cmd中输入”cd C:\Windows\Microsoft.NET\Framework\v2.0.50727”

技术分享

 

7.输入” ilasm /resource=”之后将文件”HelloWorld.res”” HelloWorld.il”拖入CMD窗口中最后如图所示

技术分享

 

8.敲回车,提示我们successfully证明成功了

技术分享

 

9.IL代码所在的文件夹中会为我们新生成一个”HelloWorld.exe”文件。运行我们重新生成的”HelloWorld.exe”,输出了这是我破解的第一个程序

技术分享

 

 

技术分享

 

By:凉游浅笔深画眉 QQ:381400744

       2015.03.06

逆向第二课(逆向第一个.NET程序)