首页
社区
课程
招聘
[原创].net CrackMe v1.2 (做出者和我联系,嘿嘿)
2006-9-14 17:17 8708

[原创].net CrackMe v1.2 (做出者和我联系,嘿嘿)

2006-9-14 17:17
8708


NE365 .net CrackMe v1.2
by:tankaiha

解决条件:得到正确的注册码

做出来者请将解决方法发到DotnetReverseTeam@126.com,一经审核合格,既加入DRT小组。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 7
打赏
分享
最新回复 (18)
雪    币: 721
活跃值: (350)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
happytown 31 2006-9-14 22:16
2
0
DRT小组是什么小组?
雪    币: 234
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
inraining 2 2006-9-14 22:39
3
0
dotnet reverse team~~
雪    币: 234
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
inraining 2 2006-9-15 10:50
4
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
快雪时晴 4 2006-9-15 11:08
5
0
需要DOTNET2 FRAME
雪    币: 234
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
inraining 2 2006-9-15 11:11
6
0
.namespace CMlib
{
  .class public auto ansi beforefieldinit Class1
       extends [mscorlib]System.Object
  {
    .field private unsigned int8[] ''
    .field private string ''
    .field public string ''
    .field public string ''
    .field private string ''
    .field private string ''

    .method public hidebysig instance int32 ''(string '', string '') cil managed
    {
      .maxstack 8
      
      IL_0000:  br.s       IL_001b
      IL_0002:  ldarg.1   
      IL_0003:  callvirt   instance unsigned int8[] [mscorlib]System.Text.Encoding::GetBytes(string)
      IL_0008:  stfld      unsigned int8[] CMlib.Class1::''
      IL_000d:  ldarg.0   
      IL_000e:  ldarg.2   
      IL_000f:  stfld      string CMlib.Class1::''
      IL_0014:  ldarg.0   
      IL_0015:  call       instance int32 CMlib.Class1::''()
      IL_001a:  ret        
      IL_001b:  ldarg.0   
      IL_001c:  call       class [mscorlib]System.Text.Encoding [mscorlib]System.Text.Encoding::get_UTF8()
      IL_0021:  br.s       IL_0002
    }

    .method private hidebysig instance int32 ''() cil managed
    {
      .maxstack 4
      .locals init (string,class [mscorlib]System.IO.MemoryStream,int32,int32,unsigned int8[],unsigned int8[])

      IL_0000:  br         IL_0076
      IL_0005:  ldarg.0   
      IL_0006:  ldfld      unsigned int8[] CMlib.Class1::''
      IL_000b:  ldloc.2   
      IL_000c:  ldarg.0   
      IL_000d:  ldfld      unsigned int8[] CMlib.Class1::''
      IL_0012:  ldloc.2   
      IL_0013:  ldelem.u1  
      IL_0014:  ldc.i4.s   65
      IL_0016:  or         
      IL_0017:  conv.u1   
      IL_0018:  stelem.i1  
      IL_0019:  ldloc.2   
      IL_001a:  ldc.i4.1   
      IL_001b:  add        
      IL_001c:  stloc.2   
      IL_001d:  ldloc.2   
      IL_001e:  ldarg.0   
      IL_001f:  ldfld      unsigned int8[] CMlib.Class1::''
      IL_0024:  ldlen      
      IL_0025:  conv.i4   
      IL_0026:  blt.s      IL_0005
      IL_0028:  ldc.i4.0   
      IL_0029:  stloc.3   
      IL_002a:  br.s       IL_004d
      IL_002c:  ldarg.0   
      IL_002d:  ldfld      unsigned int8[] CMlib.Class1::''
      IL_0032:  ldloc.3   
      IL_0033:  ldelema    [mscorlib]System.Byte
      IL_0038:  dup        
      IL_0039:  ldobj      [mscorlib]System.Byte
      IL_003e:  ldloc.3   
      IL_003f:  ldc.i4.s   31
      IL_0041:  and        
      IL_0042:  shr        
      IL_0043:  conv.u1   
      IL_0044:  stobj      [mscorlib]System.Byte
      IL_0049:  ldloc.3   
      IL_004a:  ldc.i4.1   
      IL_004b:  add        
      IL_004c:  stloc.3   
      IL_004d:  ldloc.3   
      IL_004e:  ldarg.0   
      IL_004f:  ldfld      unsigned int8[] CMlib.Class1::''
      IL_0054:  ldlen      
      IL_0055:  conv.i4   
      IL_0056:  blt.s      IL_002c
      IL_0058:  ldarg.0   
      IL_0059:  ldarg.0   
      IL_005a:  ldfld      unsigned int8[] CMlib.Class1::''
      IL_005f:  call       instance string CMlib.Class1::''(unsigned int8[])
      IL_0064:  stloc.0   
      IL_0065:  ldloc.0   
      IL_0066:  ldarg.0   
      IL_0067:  ldfld      string CMlib.Class1::''
      IL_006c:  call       bool [mscorlib]System.String::op_Inequality(string, string)
      IL_0071:  brfalse.s  IL_007d
      IL_0073:  ldc.i4.s   17
      IL_0075:  ret        
      IL_0076:  ldc.i4.0   
      IL_0077:  stloc.2   
      IL_0078:  br         IL_001d
      IL_007d:  newobj     instance void [mscorlib]System.IO.MemoryStream::.ctor()
      IL_0082:  stloc.1   
      IL_0083:  ldarg.0   
      IL_0084:  ldfld      string CMlib.Class1::''
      IL_0089:  call       unsigned int8[] [mscorlib]System.Convert::FromBase64String(string)
      IL_008e:  stloc.s    4
      IL_0090:  ldarg.0   
      IL_0091:  ldfld      string CMlib.Class1::''
      IL_0096:  call       unsigned int8[] [mscorlib]System.Convert::FromBase64String(string)
      IL_009b:  stloc.s    5
      IL_009d:  ldloc.1   
      IL_009e:  ldloc.s    4
      IL_00a0:  ldc.i4.0   
      IL_00a1:  ldloc.s    4
      IL_00a3:  ldlen      
      IL_00a4:  conv.i4   
      IL_00a5:  callvirt   instance void [mscorlib]System.IO.Stream::Write(unsigned int8[], int32, int32)
      IL_00aa:  br.s       IL_00b3
      IL_00ac:  callvirt   instance string [mscorlib]System.Text.Encoding::GetString(unsigned int8[])
      IL_00b1:  br.s       IL_00c8
      IL_00b3:  ldarg.0   
      IL_00b4:  call       class [mscorlib]System.Text.Encoding [mscorlib]System.Text.Encoding::get_UTF8()
      IL_00b9:  ldloc.1   
      IL_00ba:  callvirt   instance unsigned int8[] [mscorlib]System.IO.MemoryStream::ToArray()
      IL_00bf:  br.s       IL_00ac
      IL_00c1:  call       class [mscorlib]System.Text.Encoding [mscorlib]System.Text.Encoding::get_UTF8()
      IL_00c6:  br.s       IL_00e3
      IL_00c8:  stfld      string CMlib.Class1::''
      IL_00cd:  newobj     instance void [mscorlib]System.IO.MemoryStream::.ctor()
      IL_00d2:  stloc.1   
      IL_00d3:  ldloc.1   
      IL_00d4:  ldloc.s    5
      IL_00d6:  ldc.i4.0   
      IL_00d7:  ldloc.s    5
      IL_00d9:  ldlen      
      IL_00da:  conv.i4   
      IL_00db:  callvirt   instance void [mscorlib]System.IO.Stream::Write(unsigned int8[], int32, int32)
      IL_00e0:  ldarg.0   
      IL_00e1:  br.s       IL_00c1
      IL_00e3:  ldloc.1   
      IL_00e4:  callvirt   instance unsigned int8[] [mscorlib]System.IO.MemoryStream::ToArray()
      IL_00e9:  callvirt   instance string [mscorlib]System.Text.Encoding::GetString(unsigned int8[])
      IL_00ee:  stfld      string CMlib.Class1::''
      IL_00f3:  ldc.i4.s   34
      IL_00f5:  ret        
    }

    .method private hidebysig instance string ''(unsigned int8[] '') cil managed
    {
      .maxstack 1
      .locals init (string)

      IL_0000:  ldarg.1   
      IL_0001:  call       string [mscorlib]System.Convert::ToBase64String(unsigned int8[])
      IL_0006:  stloc.0   
      IL_0007:  ldloc.0   
      IL_0008:  ret        
    }

    .method public hidebysig specialname rtspecialname instance void .ctor() cil managed
    {
      .maxstack 8
      
      IL_0000:  ldarg.0   
      IL_0001:  ldstr      "don't try to fool me"
      IL_0006:  stfld      string CMlib.Class1::''
      IL_000b:  ldarg.0   
      IL_000c:  ldstr      ""
      IL_0011:  stfld      string CMlib.Class1::''
      IL_0016:  ldarg.0   
      IL_0017:  ldstr      "eW91IGdldCBpdCA="
      IL_001c:  stfld      string CMlib.Class1::''
      IL_0021:  ldarg.0   
      IL_0022:  ldstr      "Y29uZ3JhdHVsYXRpb25z"
      IL_0027:  stfld      string CMlib.Class1::''
      IL_002c:  ldarg.0   
      IL_002d:  call       instance void [mscorlib]System.Object::.ctor()
      IL_0032:  ret        
    }
  }

}
雪    币: 5276
活跃值: (406)
能力值: (RANK:1170 )
在线值:
发帖
回帖
粉丝
tankaiha 29 2006-9-15 13:40
7
0
1.x系列基本不采取保护措施,所有保护措施为我手动加上,且算法不是很难,没有加太多的花。
可以通过以下几种途径得出:
1、静态分析算法
2、动态调试
3、Profiler监测函数返回值
4、爆破

这也是偶的目的,熟悉以上几种方法之一者,都说明已经对.net入门了。
雪    币: 219
活跃值: (67)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qwertyui 2006-9-15 23:09
8
0
user:qwertyui
code:cTsZDgcDAQA=
雪    币: 234
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
inraining 2 2006-9-16 23:23
9
0
刚刚下了个PEBrowse,试用了下动态调试。
1.下断函数System.String::Equals(06000142)

2.跟进Call,到达真假码比较位置CMP ECX,EDX

3.查看ECX,EDX,将得到的真码输入OK.
雪    币: 5276
活跃值: (406)
能力值: (RANK:1170 )
在线值:
发帖
回帖
粉丝
tankaiha 29 2006-9-17 10:50
10
0
不错,inraining可以试用PEBrowse进行些实战
雪    币: 721
活跃值: (350)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
happytown 31 2006-9-20 20:57
11
0
最初由 tankaiha 发布
不错,inraining可以试用PEBrowse进行些实战


lz作几个这方面的教程给大家看看嘛,不要吝啬!
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jhhzy 2006-9-21 16:21
12
0
今天也接触到一款.net软件,无从下手啊!!请老大多多指教!
雪    币: 234
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
inraining 2 2006-9-21 17:43
13
0
呵呵,什么软件?
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jhhzy 2006-9-25 18:26
14
0
一套人事管理程序。程序很烂确卖得很贵,要2500RMB,人事局规定要买。带了个加密狗,不过好像输入注册号也一样可以(培训时是这样,我复制了一份)。
用PEBrowse调试提示出错。用Reflector看,似乎没有混淆。测试时发了序列号,好像是10位(忘记了,回去看看再更正,在注册表里名文记录序列号。)

请楼主多提供些资料、教程给我们这些菜鸟。还是第一次接触.net程序。想好好学习一下,请多多指教!
雪    币: 253
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
qxtianlong 1 2006-9-28 22:42
15
0
在NE365就下了,偶开发环境.net 2003
偶只有.net framework 1.1
运行不了..2.0暂时不装了..
看来和这个无缘了
雪    币: 342
活跃值: (21)
能力值: ( LV12,RANK:730 )
在线值:
发帖
回帖
粉丝
月中人 18 2006-10-1 12:50
16
0
user:月中人
code:524yHA8HAwEA
算法和CM1.1只差别一个字符值
偶用Fox没有反出C#源码,不知道楼主做什么
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
foxabu 13 2006-10-4 04:23
17
0
Disassembly of JITTED  at 0x0456F640
  0x456F6B1: 8BC8                 MOV       ECX,EAX               
  ; IL_0065: ldloc.0
  ; IL_0066: ldarg.0
  ; IL_0067: ldfld 
  ; IL_006C: call  System.String::op_Inequality()
  ; IL_0071: brfalse.s IL_007D
  0x456F6B3: 8B5308               MOV       EDX,DWORD PTR [EBX+0x8]
  0x456F6B6: E86D26E8FC           CALL      0x13F1D28             ; (0x013F1D28)
这里就是明文比较的地方

经过这次演练  感觉.net也不是想象的这么难。
雪    币: 1969
活跃值: (46)
能力值: (RANK:550 )
在线值:
发帖
回帖
粉丝
hawking 12 2006-10-30 14:33
18
0
User: hawking
Code: aTAdDQYDAQ==
雪    币: 5276
活跃值: (406)
能力值: (RANK:1170 )
在线值:
发帖
回帖
粉丝
tankaiha 29 2006-10-30 20:29
19
0
本贴是在看雪很少人讨论.net的情况下写的,没有任何保护措施,算法也很简单。
现在大家不用做这个了,太简单了,有兴趣的研究下面这个:
http://bbs.pediy.com/showthread.php?s=&threadid=32317
游客
登录 | 注册 方可回帖
返回