首页
社区
课程
招聘
[求助]求解函数(.net字符串儿加解密)
发表于: 2014-1-6 17:43 4874

[求助]求解函数(.net字符串儿加解密)

2014-1-6 17:43
4874
.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),看到了加密函数,求解解密函数,也看了高级语言的代码,但能力有限,测试几次没有成功,在这里贴出来,求解解密函数,谢谢。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 159
活跃值: (89)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
已找到解决方法,在原贴子有解密函数,当时没有理解,感谢
2014-1-7 11:52
0
游客
登录 | 注册 方可回帖
返回
//