.Net逆向初学习

 

前一段时间逆向一个程序时发现是.net的,然后用OD和IDA都调试不了,最后上网查了一下原来.net的逆向要用专门的工具。这里推荐大家一篇文章去了解一下逆向.net的一些工具简介:http://www.17ky.net/gh/94.html

 

其中,我觉得dnSpy算是.net逆向的一把利器(ILSpy要配合Reflexil才能稍有作为,Reflector要收费且也要配合Reflexil才好用),然后我自己写了一个简单的登录界面来进行研究。程序是用WPF写的,其中的核心代码是

 1 private void login_btn_Click(object sender, RoutedEventArgs e)  //点击登录按钮后触发函数
 2 {
 3     String username = TextBox_user.Text;                //获取账号里的输入内容
 4     String password = PasswoedBox_password.Password;    //获取密码里的输入内容
 5 
 6     if (username == "QKSword" && password == "123456789")   //进行判断
 7     {
 8         MessageBox.Show("正确");
 9     }
10     else
11     {
12         MessageBox.Show("错误");
13     }
14 }

  

 

用dnSpy打开程序,然后在 MainWindow下找到我们核心代码处,C#这种高级语言在逆向时用工具都可以反编译出源码出来(加了壳或者混淆了函数和字符串时得不到

 

 然后找到了我们核心代码处,我们不能直接在里面修改代码,右键选择Edit IL Instructions或者直接Ctrl+E打开我们的IL汇编 

 

在里面我们可以看到dnSpy把C#代码全部反编译为了IL汇编,我们这里就把错误的提示改成成功就行了(这只是个简单的测试

 

 

修改保存后只要按下登录就会弹出正确的提示

 

 

posted @ 2017-12-31 18:06  QKSword  阅读(919)  评论(0编辑  收藏  举报