首页 > 代码库 > 逆向第二课(逆向第一个.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程序)