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

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

2008-7-18 19:13
53371
收藏
免费 0
支持
分享
最新回复 (139)
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
76
我看了一下你上传的出错文件,reflector无法反编译是因为程序被做过手脚保护了,并不是错误
只不过保护程序是有一定的兼容性问题,但在我的2台机器(一台安装了VS2005另一台只装了.net 2.0 sp1)上测试的结果都差不多,当系统里有较多程序运行时很可能出现错误退出,但把全部其他不相关程序关闭后就正常了
建议先把系统中占用内存较大的程序全部关闭,然后再开始调试
2008-7-22 02:50
0
雪    币: 274
活跃值: (13)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
77
[QUOTE=nba2005;484691]其他信息: 找不到方法:“Void System.Reflection.Emit.DynamicMethod..ctor(System.String, System.Type, System.Type[])”[/QUOTE]

如果是这里出错,那很有可能是你的系统调用了1.0的mscorlib.dll,DynamicMethod是在2.0后才出现的,你试一下删除1.0,只装2.0看看
2008-7-22 08:45
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
78
我来的太晚了..
2008-7-22 10:45
0
雪    币: 47147
活跃值: (20465)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
79
不晚,目前只有一位提交了答案。
2008-7-22 10:56
0
雪    币: 690
活跃值: (1826)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
80
运行不起来,win2003+sp2
2008-7-22 11:02
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
81
在xp pro+sp2, xp pro+sp3测试运行正常的.NET Framework 2.0 SP 1

http://download.microsoft.com/download/0/8/c/08c19fa4-4c4f-4ffb-9d6c-150906578c9e/NetFx20SP1_x86.exe

我在三台机器上试过,一台只有2.0sp1另外两台还有1.1,似乎没有什么影响,但还是那个老问题,有其他占用内存比较大的程序运行时就可能会出错退出
2008-7-22 16:49
0
雪    币: 331
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
82
学习,首要让我的电脑能够运行起来,中午折腾2小时,还是运行不起来。郁闷。
2008-7-22 17:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
83
反静态汇编的兼容性问题,装了.net2.0后还是报错。CrackeMe遇到问题需要关闭。我们对此引起的不便表示抱歉。
2008-7-23 10:54
0
雪    币: 407
活跃值: (125)
能力值: ( LV13,RANK:280 )
在线值:
发帖
回帖
粉丝
84
强烈要求换题,运行出错呀, 老大
2008-7-24 04:55
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
85
这题有些冷清了发个不算提示的提示吧

如果安装好.NET Framework 2.0 SP1以后并且重启电脑以及关闭其他占用内存的程序后还是出错的话。。。

从我遇到的情况看来,出错时CrackMe窗口都已经开启了然后才出现这个错误


这个不算提示的提示就是。。。此时注册校验已经完成了
也就是说此时无论出错与否都已经无关痛痒,该分析的是出错以前的代码,所以大家不妨重新试一下
上传的附件:
2008-7-24 17:24
0
雪    币: 5275
活跃值: (461)
能力值: (RANK:1170 )
在线值:
发帖
回帖
粉丝
86
mstwugui还是写篇简要的分析给看雪吧,可以学习学习你的思路
2008-7-24 20:44
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
87
分析已经传上了,估计结束以后kanxue老大会发出来的

只不过我用的是土办法,压根就没管是不是.NET全程OD出来的,.NET我也一样需要慢慢学习
2008-7-24 20:51
0
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
88
mscorlib库 和 mscorwks库文件在OD里看不出API的名字
请问 mstwugui 是怎么分析他的功能的?
2008-7-24 23:31
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
89
我也不知道他们的名字,所以就直接看代码了
2008-7-24 23:49
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
90
原始追码主要是追数据
重经验.
2008-7-24 23:49
0
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
91
可以考虑加载PDB .
2008-7-24 23:57
0
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
92
OD 怎么认PDB?
2008-7-25 00:52
0
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
93
在大循环后,有一个
push 0
push 0
push 字符串数组(4个字符串)
push 0
call [eax+98]  <-这是一个mscorlib库里的API

返回值即为结果,这个API一直不知道是什么。
郁闷中。。。
2008-7-25 01:00
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
94
这个地方我没有注意过,不过sessiondiy说的很有道理
2008-7-25 02:38
0
雪    币: 187
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
95
  向老手们学习
2008-7-25 07:30
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
96
感谢你的强大的保证,给了我再次尝试的信心。

昨夜值班,进行了具体的尝试:
1.一台机器GHOST备份,重装另一版本的WIN XP。居然无声自动退出。晕,又一个兼容性问题。
2.另一台机器GHOST备份,重装Framework3.5(其它Framework版本全删除后重启),居然正常运行。
3.误打误撞,反静态汇编成功。
下面部分怀疑和我的机器出错有关:
|   |   |___[MET] BeginInvoke : class [mscorlib]System.IAsyncResult(class [mscorlib]System.AsyncCallback,object)
   |   |   |   |___[MET] EndInvoke : class [System.Windows.Forms]System.Windows.Forms.Form(class [mscorlib]System.IAsyncResult)
   |   |   |   |___[MET] Invoke : class [System.Windows.Forms]System.Windows.Forms.Form()

也找到自认为注册关键的位置,作者手下留情了。

暴力尝试后,遇到菜鸟问题:
ilasm在C盘,怎么把il文件反汇编成exe?
E:\Crackme.il /resource=Crackme.res

如何在OD中高效率设断?
看来动态调试又是我头痛的问题。
2008-7-25 08:39
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
97
第一个问题需要请教tankaiha和MegaX

至于调试起来什么时候跑什么时候停基本是靠感觉的,但这种感觉我也说不太清楚,不过sessiondiy说的很有道理
因为题目规则的限制暂时能提供的提示就是OD肯定可以跑出来,而且无需担心出错与否,其他的信息只能等结束以后kanxue老大公布了,先说声对不起哈
2008-7-25 09:13
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
98
暴力尝试后,遇到菜鸟问题:
ilasm在C盘,怎么把il文件反汇编成exe?
E:\Crackme.il /resource=Crackme.res

对于含有不可打印字符的程序,IL往往不能用ilasm再编译,用WinDbg不方便,还是直接调试方便。

    对于无源码的程序要调试,可以反汇编至il,再带/debug编译成exe文件,这样可以用SDK安装目录下的GuiDBG进行调试。不过现在这种可能性越来越少,比如最简单的混淆成不可见字符的.net程序集,在编译回去时会报错。

是不是这个原因呢?请.NET逆向小组的高手指教!!!
2008-7-25 16:23
0
雪    币: 295
活跃值: (11)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
99
好像是重启验证  注册表位置是HKEY_CURRENT_USER\Software\MegaX
2008-7-25 17:30
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
100
破解的关键是:
从静态汇编看,作者对关键的算法(好像是几处)、关键的窗体都进行了加密处理。在注册码检测
时,动态分段解码,分别处理检测。我们对.NET的程序认识肤浅,难在刚解码后的设断,即高效率的下断问题。OD中有大海捞针的感觉,设断效率不高。晚上有几个设想试试,不一定有用。
2008-7-25 18:10
0
游客
登录 | 注册 方可回帖
返回
//