首页
社区
课程
招聘
[原创]看雪读书月之初夜—doNet程序的接触
发表于: 2008-8-2 18:38 22238

[原创]看雪读书月之初夜—doNet程序的接触

2008-8-2 18:38
22238

看雪读书月之初夜—doNet程序的接触

使用工具:UE, Reflector, ildasm.exe, ilasm.exe
操作对象: NE365 doNet CrackMe 2.1
基础知识:
doNet程序类似虚拟机保护的程序,一个PE头用于调用虚拟机相关文件,PE头部后面就是通用的字节码,这些字节码和Java程序那样可以运行在不同平台里,前提是要装doNet解释器.
doNet 被编译成MSIL中间语言,IL汇编看起来超赞,比汇编还简单.

掀起你的盖头来

先看下doNet 程序长什么样子



认准 doNet 默认 ico 标示


OD加载自动就运行了
= =! 如果这个doNet是病毒岂不是汗颜啦
看来以后还是设置OD断在系统比较好


看看这个doNet程序的运行库有哪些(mscor前缀的dll)

轻解罗裳

解铃还须系铃人,我们知道doNet程序采用的是MSIL中间语言,编译是用微软工具,反编译既然有微软开发的,我们还是首选Microsoft .NET Framework SDK 自带的 ildasm.exe



结构层次如此清晰
那是为什么呢?
因为没有混淆加密~  = =!

ilDasm 顾名思义 iL格式的反汇编
反汇编出来得是 iL 汇编代码
可读性不是太直观
我要立体的
Reflector
再现3D真实



Reflector 的强大之处就是可以将iL汇编代码转成多重形式的语言

胴体再现

通过 Reflector 上一话,我们看到了ButtonTry 按钮的功能是,判断输入的用户名和输入的key长度是否为○,为○ 就弹出窗口咯..不为○就调用 crypt1()
那我们就来 crypt1() ,看看代码咯


算法都看清楚了写 KeyGen EZ的咯

我喜欢硬的

其实我是喜欢软滴
但是该硬的时候一定要硬对吧…
男人嘛…

对了说了半天 我们还没看到传说中的 iL 汇编代码呢~
马上就能看到了
先给他一刀子,看看里面是什么样子的


双击 buttonTry_Click:void(object,class[mscorlib]System,EventArgs)
Ildasm提取il文件


转存 il 文件

LoveBoom

还记得04年刚买电脑的时候,还记得05年刚接触DFCG的时候有个版主ID:LoveBoom他用的头像是陈慧琳,我特别喜欢他她,听说她马上也要结婚了…恭喜哦,熬到头了~

直接去核心看吧Crypt1()函数这里


和之前Reflector中用VB代码标示的Crypt1()函数有很大差别吧
L_0090: brfalse.s L_00a2 brfalse.s 是条件跳
那么这句是干什么的我就不解释了吧,删掉这行意味虾米?
意味着爆破啦~

毁容整容我都要用刀

UE打开dump出来的il文件,搜索 ”you get it”



删除那行后保存下

再用ilasm.exe 编译回exe即可
命令格式 ilasm.exe /exe /resource=XX.res XX.il
这样 ilasm 就把修改后的 XX.iL文件编译成 XX.Exe文件了

Res文件和il文件的文件名是一样的
还有 ilDasm在转存il文件的时候会产生
1个同名Res文件
1个同名 iL文件
若干resources文件

爆破即完成

毁容还是整容之doNet 恶搞

刚才大家也看了关于iL汇编代码的修改了,很简单
当然通过Reflector 反汇编看代码更人性化点,算法我们也清楚的看到了
但是 小弟弟 我 想尝试下 doNet 的 Diy,所以就操刀咯~

将CrackMe变KeyGen

一、修改界面资源

字符串的替换我就不说了
说下窗口大小怎么拉大的吧



0x12f,0x84 是我修改后的,之前是 0x10f,0x84



在这里修改哦~



二、修改程序流程



KeyGen总不会需要自己输入key吧
我们把 检验输入 key长度的代码去掉
删除鼠标选中的代码

三、增加功能代码



保存并ilasm 编译成exe 试试看

小技巧

DotNetBox is Very Strong
Thx MegaX
好,我们看看如何用 DotNetBox 搭建 doNet 逆向学习平台

首先介绍DotNetBox 可以让绝大多数doNet程序在没装doNet开发环境下运行的工具
我们可以用它为自己打造一个doNet试验台.

可以借助它 运行doNet程序,
可以借助它 使用ildasm进行转存文件
可以借助它 使用Reflector 阅读iL编码
可以借助它 ilasm 编译 il 文件成 exe文件

简单介绍下如何使用 DotNetBox 快速编译 iL文件

首先将 转存产生的文件都放进这个 Link文件夹里,把Shell.bat 拖进DotNetBox


执行批处理脚本 Make xx 即可编译好 doNet程序



有了DotNetBox 一切变得简单

感谢

MegaX 和他强大的        DotNetBox
Tankaiha/单海波        南京的老乡
看雪坛主/段刚                江苏滴
月影海风                镇江的高手

还有K头、和尚、忘了、凉水、cxh 、a__p、q3老爷、Combo姜winnd、yaki、等等很多帮助过我的哥哥们

火星人 heXer 就不用感谢了,语言不通~

Cater [CUG][CCG]
2008年08月02日
Hi.baidu.com/caterqiu

Link.rar
看雪读书月之初夜—doNet程序的接触.rar

【下载】doNet逆向学习环境精简版
http://bbs.pediy.com/showthread.php?t=69900


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 7
支持
分享
最新回复 (30)
雪    币: 109
活跃值: (538)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
2
老实说....编辑帖子花了好长时间爱你....
格式全部丢失了..

字体大小颜色较详细的格式 看 附件吧////

疯狂学习~
2008-8-2 18:43
0
雪    币: 287
活跃值: (102)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
很好很强大

......
2008-8-2 18:46
0
雪    币: 609
活跃值: (237)
能力值: ( LV12,RANK:441 )
在线值:
发帖
回帖
粉丝
4
很X很暴力……  
2008-8-2 18:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
很详细的文章
谢谢
2008-8-2 19:06
0
雪    币: 98729
活跃值: (201034)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
6
support.
2008-8-2 19:40
0
雪    币: 136
活跃值: (105)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
7
cater学学vc+ 怎么又开始恶搞。net了啊
2008-8-2 19:44
0
雪    币: 561
活跃值: (124)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
哈哈不错
2008-8-2 19:48
0
雪    币: 212
活跃值: (1645)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这篇文章真有晃有暴力
2008-8-2 19:50
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
10
不错不错,感谢LZ。感谢DX!我等菜鸟的好教材。
2008-8-2 20:27
0
雪    币: 5275
活跃值: (476)
能力值: (RANK:1170 )
在线值:
发帖
回帖
粉丝
11
刚刚才看到,不好意思
支持一下!
第一步是迈出去了,继续努力啊!
2008-8-2 22:52
0
雪    币: 109
活跃值: (538)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
12
单老师
今天熬不住了
第二十天了,今儿休息了~
感觉20天里 做了很多事
自己感觉有点进步

漏洞挖掘也做了点~
补丁分析也做了点~
C也从头学了书的一半

嘿嘿打算40天后 给自己个变化~
2008-8-3 02:16
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
13
望文兴叹啊!
自己太落后了!
2008-8-3 10:08
0
雪    币: 107
活跃值: (1738)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
14
楼主很陈很关系
2008-8-3 10:52
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
15
楼主辛苦了,特别还有教程打包发布。
没接触过.net程序,收藏之
2008-8-3 16:45
0
雪    币: 451
活跃值: (78)
能力值: ( LV12,RANK:470 )
在线值:
发帖
回帖
粉丝
16
不懂dotnet
学习...
2008-8-4 22:57
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
不错   up
2008-8-5 13:12
0
雪    币: 149
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
呵呵,如果解释一下IL就更好了
2008-9-12 16:21
0
雪    币: 130
活跃值: (33)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
19
好东西,原来.NET是这样被整的呵呵,收藏学习之

原来看雪老大果然是江苏的,亲切啊

还记得刚注册时,收到论坛确认信,邮件地址是"江苏音符",感觉非常亲切,现在果然亲切哈
2008-9-13 13:38
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
这样说来,.net 程序岂不是很不安全。能不能将.net 程序本地化呢。
2008-9-15 23:23
0
雪    币: 202
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
恩,还是初夜~~~~~~~小心夜写多了会××
2008-9-25 18:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
望文兴叹啊!
2008-9-29 20:41
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
这样的帖子很值得学习,收藏下来备用
2008-9-29 21:50
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
就是不一样,不知道用微软推荐的加密工具能不能逆啊!辛苦了群主
2008-9-30 14:46
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
这么多图...贴的可真是够辛苦的啊..
2008-10-22 17:27
0
游客
登录 | 注册 方可回帖
返回
//