-
-
[求助]求解函数(.net字符串儿加解密)
-
发表于:
2014-1-6 17:43
4875
-
.method public hidebysig static string _֯(string ְ, int32 ֱ) cil managed
{
.maxstack 5
.locals init (
[0] uint16 num,
[1] char[] chArray,
[2] int32 num2,
[3] uint16 num3,
[4] string str,
[5] bool flag,
[6] bool flag2)
L_0000: ldarg.1
L_0001: conv.u2
L_0002: stloc.0
L_0003: br L_018a
L_0008: ldloc num3
L_000c: conv.u4
L_000d: ldloc flag
L_0011: conv.u4
L_0012: add
L_0013: ldc.i4.0
L_0014: clt.un
L_0016: stloc flag2
L_001a: ldloc flag2
L_001e: brtrue L_010b
L_0023: ldarg.0
L_0024: callvirt instance int32 [mscorlib]System.String::get_Length()
L_0029: ldc.i4.4
L_002a: div
L_002b: newarr char
L_0030: stloc.1
L_0031: br.s L_0064
L_0033: ldarg ֱ
L_0037: conv.u4
L_0038: ldloc num
L_003c: conv.u4
L_003d: add
L_003e: ldc.i4.m1
L_003f: cgt.un
L_0041: stloc flag2
L_0045: ldloc flag2
L_0049: brtrue.s L_0059
L_004b: br.s L_007c
L_004d: ldarg ֱ
L_0051: conv.u4
L_0052: ldc.i4.m1
L_0053: cgt.un
L_0055: stloc flag
L_0059: ldloc flag
L_005d: brtrue L_00f3
L_0062: br.s L_007a
L_0064: ldc.i4.0
L_0065: stloc.2
L_0066: br L_00e8
L_006b: ldc.i4 15
L_0070: brfalse L_0100
L_0075: br L_016b
L_007a: br.s L_0033
L_007c: ldloc num2
L_0080: conv.u4
L_0081: ldc.i4.m1
L_0082: cgt.un
L_0084: stloc flag2
L_0088: ldloc flag2
L_008c: brfalse L_0008
L_0091: br L_01b4
L_0096: ldloc.3
L_0097: ldloc.0
L_0098: sub
L_0099: conv.u2
L_009a: stloc.3
L_009b: ldloc.1
L_009c: ldloc.2
L_009d: ldloc.3
L_009e: stelem.i2
L_009f: br L_0199
L_00a4: ldarg.0
L_00a5: ldc.i4.4
L_00a6: ldloc.2
L_00a7: mul
L_00a8: callvirt instance char [mscorlib]System.String::get_Chars(int32)
L_00ad: ldc.i4.s 0x61
L_00af: sub
L_00b0: ldarg.0
L_00b1: ldc.i4.4
L_00b2: ldloc.2
L_00b3: mul
L_00b4: ldc.i4.1
L_00b5: add
L_00b6: callvirt instance char [mscorlib]System.String::get_Chars(int32)
L_00bb: ldc.i4.s 0x61
L_00bd: sub
L_00be: ldc.i4.4
L_00bf: shl
L_00c0: add
L_00c1: ldarg.0
L_00c2: ldc.i4.4
L_00c3: ldloc.2
L_00c4: mul
L_00c5: ldc.i4.2
L_00c6: add
L_00c7: callvirt instance char [mscorlib]System.String::get_Chars(int32)
L_00cc: ldc.i4.s 0x61
L_00ce: sub
L_00cf: ldc.i4.8
L_00d0: shl
L_00d1: add
L_00d2: ldarg.0
L_00d3: ldc.i4.4
L_00d4: ldloc.2
L_00d5: mul
L_00d6: ldc.i4.3
L_00d7: add
L_00d8: callvirt instance char [mscorlib]System.String::get_Chars(int32)
L_00dd: ldc.i4.s 0x61
L_00df: sub
L_00e0: ldc.i4.s 12
L_00e2: shl
L_00e3: add
L_00e4: conv.u2
L_00e5: stloc.3
L_00e6: br.s L_0106
L_00e8: ldloc.2
L_00e9: ldarg.0
L_00ea: callvirt instance int32 [mscorlib]System.String::get_Length()
L_00ef: ldc.i4.4
L_00f0: div
L_00f1: blt.s L_00a4
L_00f3: ldloc.1
L_00f4: newobj instance void [mscorlib]System.String::.ctor(char[])
L_00f9: stloc.s str
L_00fb: br L_01b4
L_0100: ldloc.2
L_0101: ldc.i4.1
L_0102: add
L_0103: stloc.2
L_0104: br.s L_00e8
L_0106: br L_0194
L_010b: ldloc num
L_010f: conv.u4
L_0110: ldc.i4.0
L_0111: and
L_0112: ldc.i4.0
L_0113: ceq
L_0115: stloc flag2
L_0119: ldloc flag2
L_011d: brfalse L_0031
L_0122: ldloc flag
L_0126: brtrue L_0096
L_012b: br.s L_0169
L_012d: ldarg ֱ
L_0131: conv.u4
L_0132: ldarg ֱ
L_0136: conv.u4
L_0137: add
L_0138: ldc.i4.m1
L_0139: cgt.un
L_013b: stloc flag
L_013f: ldloc num2
L_0143: conv.u4
L_0144: ldc.i4 3
L_0149: or
L_014a: ldc.i4.0
L_014b: ceq
L_014d: stloc flag2
L_0151: ldloc flag2
L_0155: brtrue.s L_0100
L_0157: ldloc num2
L_015b: conv.u4
L_015c: ldc.i4.0
L_015d: clt.un
L_015f: stloc flag2
L_0163: ldloc flag2
L_0167: brfalse.s L_010b
L_0169: br.s L_0176
L_016b: ldloc.0
L_016c: ldc.i4 0x6fd
L_0171: add
L_0172: conv.u2
L_0173: stloc.0
L_0174: br.s L_012d
L_0176: ldloc num
L_017a: conv.u4
L_017b: ldc.i4.0
L_017c: and
L_017d: ldc.i4.0
L_017e: ceq
L_0180: stloc flag2
L_0184: ldloc flag2
L_0188: brtrue.s L_018f
L_018a: br L_004d
L_018f: br L_0100
L_0194: br L_0096
L_0199: ldloc num2
L_019d: conv.u4
L_019e: ldloc num3
L_01a2: conv.u4
L_01a3: add
L_01a4: ldc.i4.m1
L_01a5: cgt.un
L_01a7: stloc flag2
L_01ab: ldloc flag2
L_01af: brfalse L_006b
L_01b4: ldloc.s str
L_01b6: ret
}
在这篇贴子中(
http://bbs.pediy.com/showthread.php?t=90723),看到了加密函数,求解解密函数,也看了高级语言的代码,但能力有限,测试几次没有成功,在这里贴出来,求解解密函数,谢谢。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)