首页
社区
课程
招聘
[结束]2008看雪论坛读书月第二题[7.18~7.27]
发表于: 2008-7-18 19:13 53371

[结束]2008看雪论坛读书月第二题[7.18~7.27]

2008-7-18 19:13
53371
收藏
免费 0
支持
分享
最新回复 (139)
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
126
我没文采,到时别笑话。
这题的代码很乱,没办法copy下来。
破文里只提了几个关键断点。
2008-7-27 14:00
0
雪    币: 440
活跃值: (61)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
127


断断续续跟了几天....
除了发现几个关键的地方外其他一无所获......
中途死机N次.......

期待沙金与mstwugui两DX的破文......
2008-7-27 17:51
0
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
128
同上     哎 功力不足,感叹一下。然后膜拜一下LS的大虾。  不过我还是来凑凑热闹谈感想。

这个Crackme,理论上面来讲是存在兼容性问题的,至于存在的原因没有跟出来。不过只要把抛异常的线程暂停掉,貌似就不会出错了。。而且比较诡异的是我开OD就不会出错,直接启动反而异常。
其次是我感觉玩这个CM有两种思路,一是纯native调试,二是静态IL,附带调试。
先说说纯native来,这个方式无论是OD也好,还是PEBrowseDbg 也好都可以直接调试,当然明显的是后者可以直接在NET方法下面下断点,缺点当然是反调试力度有限,需要bypassing很多东西。。很faint。 而玩纯OD的大牛功力了得,主要是偶对net 的win32结构不熟悉,而且如果不可以解析托管数据,就很痛苦,虽然用GuiDbg.exe带上PDB要好很多,但是兼容性是在太差。。。 (其实把noinline 选项给去掉 ,把JIT优化打开实际上可以把大部分混淆出来的IL给吃掉,只是patch。是一个麻烦事情,虽然感觉最终跟native 应该不算很复杂,因为代码不算很多,而且代码也算干净,至少比起vmp,themida这些看两句脑壳就可以放到床上躺着了。。) 我的PEBrowseDbg 被反了调试,大概是对窗体名称的检查上,因为我看到有Process类的调用,MainWindowTitle 方法的调用以后不久就exception了。但是我感觉这个CM本来的意思应该是考察玩家对.net变形头部的标准化工作,以及变形代码清理,因为很明显这个CM 没有用win32壳,而且.net数据其实也是原原本本的在那里放着的得,之所以不认识我想有很多原因。。。不过我的maxtocode好像也用过这个伎俩。  可运行和可反射meta 头好像可以有些区别嘿嘿,不过我也不太清楚,不过总的来说大概有这个几个办法看method数据,一是用ildasm,然后再用ilasm编译回去,注意把不可见字符替换一下(主要是那几个resource) 经过这个方法以后就可以直接用reflector看了,看着上面的讨论这个问题 我也顺便说了两句。
据说ilasm和实际jit用的读取meta的库是一个,所以后者可以读出来自然前者也不能够落下,而且本来method的IL 还有metadata就存在。。所以。。所以。。  其次用Phoenix 这个库也可以读出来的。这两个方法我均实践过。
而之后就是清理变形代码的过程。这个过程用很多库都可以 比如cecil,phoenix。。其实这两个库我都写了一大段代码来清理。。效果一般,因为那个包含WriteProcessMemory的依然不能够反成C#(因为貌似每一个ctor都要走这里过),这个方法比较关键,因为貌似好像这个CM把一些代码加密后放到了资源中? ,没有跟踪完不知道,其次就是用ctor来启动代码,把我麻痹了一下,因为最先我直接在EntryPoint下断点跟随包括静态汇编都没有得出什么结论来。  这个CM的变形代码太强了。。。不知道我是不是很久没有弄dotNet的原因 感觉流程混淆比其他好多软件都强很多倍。能够把一个原本仅数百行的WinForm小软体弄成100KB。。。,,,功力了得啊,不过为什么我用phoenix无法自动优化这些代码呢,不知道是不是后期的库无法对MSIL进行自动优化了,因为感觉如果调用这个引擎变形代码应该会迅速消失?。。手动弄了好久也只是清理了一个大概,关于数组操作(byte[]),还有重复赋值问题感觉清理起来好困难。。。哎。。
老了老了。

胡话乱说了一通,马上就要结束比赛了。嘿嘿,发点感想不算违规吧。
2008-7-27 18:53
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
129
和MegaX聊了一下这道题,耐心等一下应该会有正统的解法公布,.NET还是有很多东西需要学习
2008-7-27 19:11
0
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
130
好期待!
这是个学.net绝好的机会。
2008-7-27 19:17
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
131
我对追码的结果并不看重,也不想证明自己。我希望你的破文能
给我以灵感,使我尽快找到简捷的破解.NET的有效方法。个人认为
OD并不是破解.NET的最好方法,似乎WINDBG更有前途。用后的
一些直观感受。但OD在某些方面具有优势,可当作很好的辅助工具。

我并不认为我的文章有文采,只是朋友更喜欢看我破解的思考。



这对我的启示很大,考试后我要潜水了。经过这个月的思考,发现了自己的三大弱点,要赶快
补课了。落伍了

喜欢看雪最大的原因就是:在这里,你老是觉得自己是井底之蛙,一直都是。越是高手越寂寞,越低调。

我投壳狼的票。就是敬重他是这种高手,不张扬,默默修炼自己。
简练,句句要害,技术性分析透彻深入,文章严谨,专业性强。
就是对他的名字不喜欢,老是和色狼发生联想。

topmint也是,我查过他的资料。看雪上这种高手太多了。不过他们似乎不喜欢交流。topmint
明明看了我的破文,却不肯赐教,令我遗憾。
2008-7-27 19:23
0
雪    币: 5275
活跃值: (461)
能力值: (RANK:1170 )
在线值:
发帖
回帖
粉丝
132
.net的流程混淆强度越来越大,主要是利用switch语句,一句一个goto,体积变得异常大也就不奇怪了。

还没见着msgwugui的文章,不过应该是从win32的角度对.net破解的很好的分析。确实很牛。

其实本题初写时,和megax讨论过,有两个途径,一是win32的,还有就是从纯.net的角度去破解,不过目前看来还没有人从第二个角度入手。
2008-7-27 19:27
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
133
从第二个角度也许目前只有tankaiha和MegaX有这个实力吧,我也很想学习一下
2008-7-27 19:29
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
134
应该是目前较专业的评论了。

{
一是用ildasm,然后再用ilasm编译回去,注意把不可见字符替换一下(主要是那几个resource) 经过这个方法以后就可以直接用reflector看了
}

原来这么简单,害我这几天思考了好久。谢谢指点。

{
大概是对窗体名称的检查上,因为我看到有Process类的调用,MainWindowTitle 方法的调用以后不久就exception了。
}
原来我跟了三个多小时的Process是这样,我最后只确定为反调试。具体机理还真不知道。
以后再细跟,研究一下。

惭愧,高手就是高手。

我谈谈自己的OD追NET不成熟追码的一些想法:
1.重视堆栈的分析。
2.适当CTRL+F8。
3.运用RUN跟踪,对效率帮助很大。高手有兴趣,可进行修改,能对堆栈自动进行记录。相信这样的插件应该受欢迎。
4.断点插件适当运用,断下没问题。关键是断下的效率问题还有待研究。
2008-7-27 19:34
0
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
135
恩,太多的switch和goto了
第二个角度现在是没有办法,对.net几乎不了解。

看了几个大牛对.net解说,深感惭愧。
2008-7-27 19:36
0
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
136
期待第二种解法。
2008-7-27 21:07
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
137
汗,这个CRACK ME上用的一些反静态汇编技术,原来.NET技术小组的人以前有文介绍过,还有例子供练习,最近查资料时才看到。惭愧!

等待.NET逆向小组的精彩破文,相信能够和mstwugui大侠的破文一样,让我受益多多。
2008-7-30 15:53
0
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
138
不能正常运行
有.net 2.0环境!
2008-7-30 19:40
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
139
试试下面的:

标 题: 【原创】DotNetBox,让你不用装.Net Framework也能运行.Net程序(7.29更新)
作 者: MegaX
时 间: 2008-07-28,17:32
链 接: http://bbs.pediy.com/showthread.php?t=69522
2008-7-31 11:12
0
雪    币: 288
活跃值: (112)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
140
汗,好久没来,竟然搞活动了。。。
2008-8-2 10:03
0
游客
登录 | 注册 方可回帖
返回
//