能力值:
( LV9,RANK:1250 )
|
-
-
2 楼
DRT小组是什么小组?
|
能力值:
( LV6,RANK:90 )
|
-
-
3 楼
dotnet reverse team~~
|
能力值:
( LV6,RANK:90 )
|
-
-
4 楼
|
能力值:
( LV9,RANK:170 )
|
-
-
5 楼
需要DOTNET2 FRAME
|
能力值:
( LV6,RANK:90 )
|
-
-
6 楼
.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
}
}
}
|
能力值:
(RANK:1170 )
|
-
-
7 楼
1.x系列基本不采取保护措施,所有保护措施为我手动加上,且算法不是很难,没有加太多的花。
可以通过以下几种途径得出:
1、静态分析算法
2、动态调试
3、Profiler监测函数返回值
4、爆破
这也是偶的目的,熟悉以上几种方法之一者,都说明已经对.net入门了。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
user:qwertyui
code:cTsZDgcDAQA=
|
能力值:
( LV6,RANK:90 )
|
-
-
9 楼
刚刚下了个PEBrowse,试用了下动态调试。
1.下断函数System.String::Equals(06000142)
2.跟进Call,到达真假码比较位置CMP ECX,EDX
3.查看ECX,EDX,将得到的真码输入OK.
|
能力值:
(RANK:1170 )
|
-
-
10 楼
不错,inraining可以试用PEBrowse进行些实战
|
能力值:
( LV9,RANK:1250 )
|
-
-
11 楼
最初由 tankaiha 发布 不错,inraining可以试用PEBrowse进行些实战
lz作几个这方面的教程给大家看看嘛,不要吝啬!
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
今天也接触到一款.net软件,无从下手啊!!请老大多多指教!
|
能力值:
( LV6,RANK:90 )
|
-
-
13 楼
呵呵,什么软件?
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
一套人事管理程序。程序很烂确卖得很贵,要2500RMB,人事局规定要买。带了个加密狗,不过好像输入注册号也一样可以(培训时是这样,我复制了一份)。
用PEBrowse调试提示出错。用Reflector看,似乎没有混淆。测试时发了序列号,好像是10位(忘记了,回去看看再更正,在注册表里名文记录序列号。)
请楼主多提供些资料、教程给我们这些菜鸟。还是第一次接触.net程序。想好好学习一下,请多多指教!
|
能力值:
( LV4,RANK:50 )
|
-
-
15 楼
在NE365就下了,偶开发环境.net 2003
偶只有.net framework 1.1
运行不了..2.0暂时不装了..
看来和这个无缘了
|
能力值:
( LV12,RANK:730 )
|
-
-
16 楼
user:月中人
code:524yHA8HAwEA
算法和CM1.1只差别一个字符值
偶用Fox没有反出C#源码,不知道楼主做什么
|
能力值:
( LV13,RANK:530 )
|
-
-
17 楼
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也不是想象的这么难。
|
能力值:
(RANK:550 )
|
-
-
18 楼
User: hawking
Code: aTAdDQYDAQ==
|
能力值:
(RANK:1170 )
|
-
-
19 楼
本贴是在看雪很少人讨论.net的情况下写的,没有任何保护措施,算法也很简单。
现在大家不用做这个了,太简单了,有兴趣的研究下面这个:
http://bbs.pediy.com/showthread.php?s=&threadid=32317
|
|
|