能力值:
( LV2,RANK:10 )
26 楼
.method /*060001C2*/ public hidebysig instance valuetype 'tuwxAqsKYMHHkDBaqxc'.'G9CQsnseOPAqWGVcAaS'/*02000040*/
'E2UsqtBZU'() cil managed noinlining
// SIG: 20 00 11 81 00
{
// Method begins at RVA 0x52a2d
// Code size 484 (0x1e4)
.maxstack 5
.locals /*11000075*/ init (valuetype ['mscorlib'/*23000001*/]'System'.'DateTime'/*01000082*/ V_0,
bool V_1,
int32 V_2,
string V_3,
string V_4,
string V_5,
string V_6,
string V_7,
string[] V_8)
IL_0000: /* 28 | (06)0001B4 */ call valuetype ['mscorlib'/*23000001*/]'System'.'DateTime'/*01000082*/ 'LGtckbs26XVy1uSC7fP'.'b9R4X3s00T7JHQ2I4xD'/*0200003F*/::'E2UsqtBZU'() /* 060001B4 */
IL_0005: /* 0A | */ stloc.0
IL_0006: /* 16 | */ ldc.i4.0
IL_0007: /* 0B | */ stloc.1
IL_0008: /* 12 | 00 */ ldloca.s V_0
IL_000a: /* 28 | (0A)0001ED */ call instance int32 ['mscorlib'/*23000001*/]'System'.'DateTime'/*01000082*/::'get_Day'() /* 0A0001ED */
IL_000f: /* 0C | */ stloc.2
IL_0010: /* 08 | */ ldloc.2
IL_0011: /* 17 | */ ldc.i4.1
IL_0012: /* 3F | 08000000 */ blt IL_001f
IL_0017: /* 08 | */ ldloc.2
IL_0018: /* 1F | 0A */ ldc.i4.s 10
IL_001a: /* 3E | 10000000 */ ble IL_002f
IL_001f: /* 08 | */ ldloc.2
IL_0020: /* 1F | 15 */ ldc.i4.s 21
IL_0022: /* 3F | 0A000000 */ blt IL_0031
IL_0027: /* 08 | */ ldloc.2
IL_0028: /* 1F | 1F */ ldc.i4.s 31
IL_002a: /* 3D | 02000000 */ bgt IL_0031
IL_002f: /* 17 | */ ldc.i4.1
IL_0030: /* 0B | */ stloc.1
IL_0031: /* 02 | */ ldarg.0
IL_0032: /* 7B | (04)000132 */ ldfld string 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'GQMuqS6II' /* 04000132 */
IL_0037: /* 20 | C8440000 */ ldc.i4 0x44c8
IL_003c: /* 28 | (06)00022D */ call string 'yVd7kos890Q24V3MB1W'.'peFqM6sjpoibwGkgO3y'/*02000053*/::'uixs5btGR$PST0600022D'(int32) /* 0600022D */
IL_0041: /* 28 | (0A)000004 */ call bool ['mscorlib'/*23000001*/]'System'.'String'/*0100000F*/::'op_Equality'(string,
string) /* 0A000004 */
IL_0046: /* 39 | 24000000 */ brfalse IL_006f
IL_004b: /* 07 | */ ldloc.1
IL_004c: /* 39 | 1E000000 */ brfalse IL_006f
IL_0051: /* 02 | */ ldarg.0
IL_0052: /* 17 | */ ldc.i4.1
IL_0053: /* 7D | (04)000134 */ stfld bool 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'y7MilKh19' /* 04000134 */
IL_0058: /* 02 | */ ldarg.0
IL_0059: /* 16 | */ ldc.i4.0
IL_005a: /* 7D | (04)000133 */ stfld bool 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'fAIOO6W7h' /* 04000133 */
IL_005f: /* 02 | */ ldarg.0
IL_0060: /* 17 | */ ldc.i4.1
IL_0061: /* 7D | (04)000136 */ stfld bool 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'x4pQEDIwl' /* 04000136 */
IL_0066: /* 02 | */ ldarg.0
IL_0067: /* 17 | */ ldc.i4.1
IL_0068: /* 7D | (04)000137 */ stfld bool 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'A3F8kaDjC' /* 04000137 */
IL_006d: /* 17 | */ ldc.i4.1
IL_006e: /* 2A | */ ret
IL_006f: /* 02 | */ ldarg.0
IL_0070: /* 7B | (04)000132 */ ldfld string 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'GQMuqS6II' /* 04000132 */
IL_0075: /* 02 | */ ldarg.0
IL_0076: /* 7B | (04)00012F */ ldfld string 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'SJPU7WuTU' /* 0400012F */
IL_007b: /* 73 | (06)0001A1 */ newobj instance void '0MnwA6sPmtGhL8wa7lP'.'dOlWJOsxayannNYe8ZC'/*0200003D*/::.ctor(string,
string) /* 060001A1 */
IL_0080: /* 28 | (06)0001A3 */ call instance string '0MnwA6sPmtGhL8wa7lP'.'dOlWJOsxayannNYe8ZC'/*0200003D*/::'oGdhrINQP'() /* 060001A3 */
IL_0085: /* 0D | */ stloc.3
IL_0086: /* 09 | */ ldloc.3
IL_0087: /* 6F | (0A)000011 */ callvirt instance int32 ['mscorlib'/*23000001*/]'System'.'String'/*0100000F*/::'get_Length'() /* 0A000011 */
IL_008c: /* 1F | 0A */ ldc.i4.s 10
IL_008e: /* 3F | 41000000 */ blt IL_00d4
IL_0093: /* 09 | */ ldloc.3
IL_0094: /* 20 | E6440000 */ ldc.i4 0x44e6
IL_0099: /* 28 | (06)00022D */ call string 'yVd7kos890Q24V3MB1W'.'peFqM6sjpoibwGkgO3y'/*02000053*/::'uixs5btGR$PST0600022D'(int32) /* 0600022D */
IL_009e: /* 6F | (0A)000198 */ callvirt instance bool ['mscorlib'/*23000001*/]'System'.'String'/*0100000F*/::'StartsWith'(string) /* 0A000198 */
IL_00a3: /* 39 | 2C000000 */ brfalse IL_00d4
IL_00a8: /* 09 | */ ldloc.3
IL_00a9: /* 20 | EE440000 */ ldc.i4 0x44ee
IL_00ae: /* 28 | (06)00022D */ call string 'yVd7kos890Q24V3MB1W'.'peFqM6sjpoibwGkgO3y'/*02000053*/::'uixs5btGR$PST0600022D'(int32) /* 0600022D */
IL_00b3: /* 6F | (0A)000044 */ callvirt instance int32 ['mscorlib'/*23000001*/]'System'.'String'/*0100000F*/::'IndexOf'(string) /* 0A000044 */
IL_00b8: /* 16 | */ ldc.i4.0
IL_00b9: /* 3F | 16000000 */ blt IL_00d4
IL_00be: /* 09 | */ ldloc.3
IL_00bf: /* 20 | F6440000 */ ldc.i4 0x44f6
IL_00c4: /* 28 | (06)00022D */ call string 'yVd7kos890Q24V3MB1W'.'peFqM6sjpoibwGkgO3y'/*02000053*/::'uixs5btGR$PST0600022D'(int32) /* 0600022D */
IL_00c9: /* 6F | (0A)000044 */ callvirt instance int32 ['mscorlib'/*23000001*/]'System'.'String'/*0100000F*/::'IndexOf'(string) /* 0A000044 */
IL_00ce: /* 16 | */ ldc.i4.0
IL_00cf: /* 3C | 08000000 */ bge IL_00dc
IL_00d4: /* 02 | */ ldarg.0
IL_00d5: /* 28 | (06)0001C7 */ call instance void 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'mhEyGeZ3n'() /* 060001C7 */
IL_00da: /* 18 | */ ldc.i4.2
IL_00db: /* 2A | */ ret
IL_00dc: /* 09 | */ ldloc.3
IL_00dd: /* 09 | */ ldloc.3
IL_00de: /* 6F | (0A)000011 */ callvirt instance int32 ['mscorlib'/*23000001*/]'System'.'String'/*0100000F*/::'get_Length'() /* 0A000011 */
IL_00e3: /* 1F | 0A */ ldc.i4.s 10
IL_00e5: /* 59 | */ sub
IL_00e6: /* 6F | (0A)0001B5 */ callvirt instance string ['mscorlib'/*23000001*/]'System'.'String'/*0100000F*/::'Substring'(int32) /* 0A0001B5 */
IL_00eb: /* 13 | 04 */ stloc.s V_4
IL_00ed: /* 11 | 04 */ ldloc.s V_4
IL_00ef: /* 02 | */ ldarg.0
IL_00f0: /* 7C | (04)000135 */ ldflda valuetype ['mscorlib'/*23000001*/]'System'.'DateTime'/*01000082*/ 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'qRTdTJ7yl' /* 04000135 */
IL_00f5: /* 28 | (0A)0001C1 */ call bool ['mscorlib'/*23000001*/]'System'.'DateTime'/*01000082*/::'TryParse'(string,
valuetype ['mscorlib'/*23000001*/]'System'.'DateTime'/*01000082*/&) /* 0A0001C1 */
IL_00fa: /* 3A | 08000000 */ brtrue IL_0107
IL_00ff: /* 02 | */ ldarg.0
IL_0100: /* 28 | (06)0001C7 */ call instance void 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'mhEyGeZ3n'() /* 060001C7 */
IL_0105: /* 18 | */ ldc.i4.2
IL_0106: /* 2A | */ ret
IL_0107: /* 06 | */ ldloc.0
IL_0108: /* 02 | */ ldarg.0
IL_0109: /* 7B | (04)000135 */ ldfld valuetype ['mscorlib'/*23000001*/]'System'.'DateTime'/*01000082*/ 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'qRTdTJ7yl' /* 04000135 */
IL_010e: /* 28 | (0A)0001EE */ call bool ['mscorlib'/*23000001*/]'System'.'DateTime'/*01000082*/::'op_GreaterThan'(valuetype ['mscorlib'/*23000001*/]'System'.'DateTime'/*01000082*/,
valuetype ['mscorlib'/*23000001*/]'System'.'DateTime'/*01000082*/) /* 0A0001EE */
IL_0113: /* 39 | 08000000 */ brfalse IL_0120
IL_0118: /* 02 | */ ldarg.0
IL_0119: /* 28 | (06)0001C7 */ call instance void 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'mhEyGeZ3n'() /* 060001C7 */
IL_011e: /* 19 | */ ldc.i4.3
IL_011f: /* 2A | */ ret
IL_0120: /* 09 | */ ldloc.3
IL_0121: /* 18 | */ ldc.i4.2
IL_0122: /* 09 | */ ldloc.3
IL_0123: /* 20 | 02450000 */ ldc.i4 0x4502
IL_0128: /* 28 | (06)00022D */ call string 'yVd7kos890Q24V3MB1W'.'peFqM6sjpoibwGkgO3y'/*02000053*/::'uixs5btGR$PST0600022D'(int32) /* 0600022D */
IL_012d: /* 6F | (0A)000044 */ callvirt instance int32 ['mscorlib'/*23000001*/]'System'.'String'/*0100000F*/::'IndexOf'(string) /* 0A000044 */
IL_0132: /* 18 | */ ldc.i4.2
IL_0133: /* 59 | */ sub
IL_0134: /* 6F | (0A)0001B4 */ callvirt instance string ['mscorlib'/*23000001*/]'System'.'String'/*0100000F*/::'Substring'(int32,
int32) /* 0A0001B4 */
IL_0139: /* 13 | 05 */ stloc.s V_5
IL_013b: /* 02 | */ ldarg.0
IL_013c: /* 11 | 05 */ ldloc.s V_5
IL_013e: /* 28 | (06)0001C4 */ call instance bool 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'83VL3XAoq'(string) /* 060001C4 */
IL_0143: /* 3A | 08000000 */ brtrue IL_0150
IL_0148: /* 02 | */ ldarg.0
IL_0149: /* 28 | (06)0001C7 */ call instance void 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'mhEyGeZ3n'() /* 060001C7 */
IL_014e: /* 18 | */ ldc.i4.2
IL_014f: /* 2A | */ ret
IL_0150: /* 02 | */ ldarg.0
IL_0151: /* 28 | (06)0001C6 */ call instance string 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'Wl6TSTEWl'() /* 060001C6 */
IL_0156: /* 13 | 06 */ stloc.s V_6
IL_0158: /* 1C | */ ldc.i4.6
IL_0159: /* 8D | (01)00000F */ newarr ['mscorlib'/*23000001*/]'System'.'String'/*0100000F*/
IL_015e: /* 13 | 08 */ stloc.s V_8
IL_0160: /* 11 | 08 */ ldloc.s V_8
IL_0162: /* 16 | */ ldc.i4.0
IL_0163: /* 20 | 0A450000 */ ldc.i4 0x450a
IL_0168: /* 28 | (06)00022D */ call string 'yVd7kos890Q24V3MB1W'.'peFqM6sjpoibwGkgO3y'/*02000053*/::'uixs5btGR$PST0600022D'(int32) /* 0600022D */
IL_016d: /* A2 | */ stelem.ref
IL_016e: /* 11 | 08 */ ldloc.s V_8
IL_0170: /* 17 | */ ldc.i4.1
IL_0171: /* 11 | 05 */ ldloc.s V_5
IL_0173: /* A2 | */ stelem.ref
IL_0174: /* 11 | 08 */ ldloc.s V_8
IL_0176: /* 18 | */ ldc.i4.2
IL_0177: /* 20 | 12450000 */ ldc.i4 0x4512
IL_017c: /* 28 | (06)00022D */ call string 'yVd7kos890Q24V3MB1W'.'peFqM6sjpoibwGkgO3y'/*02000053*/::'uixs5btGR$PST0600022D'(int32) /* 0600022D */
IL_0181: /* A2 | */ stelem.ref
IL_0182: /* 11 | 08 */ ldloc.s V_8
IL_0184: /* 19 | */ ldc.i4.3
IL_0185: /* 11 | 06 */ ldloc.s V_6
IL_0187: /* A2 | */ stelem.ref
IL_0188: /* 11 | 08 */ ldloc.s V_8
IL_018a: /* 1A | */ ldc.i4.4
IL_018b: /* 20 | 1A450000 */ ldc.i4 0x451a
IL_0190: /* 28 | (06)00022D */ call string 'yVd7kos890Q24V3MB1W'.'peFqM6sjpoibwGkgO3y'/*02000053*/::'uixs5btGR$PST0600022D'(int32) /* 0600022D */
IL_0195: /* A2 | */ stelem.ref
IL_0196: /* 11 | 08 */ ldloc.s V_8
IL_0198: /* 1B | */ ldc.i4.5
IL_0199: /* 11 | 04 */ ldloc.s V_4
IL_019b: /* A2 | */ stelem.ref
IL_019c: /* 11 | 08 */ ldloc.s V_8
IL_019e: /* 28 | (0A)000014 */ call string ['mscorlib'/*23000001*/]'System'.'String'/*0100000F*/::'Concat'(string[]) /* 0A000014 */
IL_01a3: /* 02 | */ ldarg.0
IL_01a4: /* 7B | (04)00012F */ ldfld string 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'SJPU7WuTU' /* 0400012F */
IL_01a9: /* 73 | (06)0001A1 */ newobj instance void '0MnwA6sPmtGhL8wa7lP'.'dOlWJOsxayannNYe8ZC'/*0200003D*/::.ctor(string,
string) /* 060001A1 */
IL_01ae: /* 28 | (06)0001A2 */ call instance string '0MnwA6sPmtGhL8wa7lP'.'dOlWJOsxayannNYe8ZC'/*0200003D*/::'E2UsqtBZU'() /* 060001A2 */
IL_01b3: /* 13 | 07 */ stloc.s V_7
IL_01b5: /* 02 | */ ldarg.0
IL_01b6: /* 02 | */ ldarg.0
IL_01b7: /* 7B | (04)000132 */ ldfld string 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'GQMuqS6II' /* 04000132 */
IL_01bc: /* 11 | 07 */ ldloc.s V_7
IL_01be: /* 28 | (0A)000004 */ call bool ['mscorlib'/*23000001*/]'System'.'String'/*0100000F*/::'op_Equality'(string,
string) /* 0A000004 */
IL_01c3: /* 7D | (04)000133 */ stfld bool 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'fAIOO6W7h' /* 04000133 */
IL_01c8: /* 02 | */ ldarg.0
IL_01c9: /* 7B | (04)000133 */ ldfld bool 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'fAIOO6W7h' /* 04000133 */
IL_01ce: /* 39 | 09000000 */ brfalse IL_01dc
IL_01d3: /* 02 | */ ldarg.0
IL_01d4: /* 16 | */ ldc.i4.0
IL_01d5: /* 7D | (04)000134 */ stfld bool 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'y7MilKh19' /* 04000134 */
IL_01da: /* 16 | */ ldc.i4.0
IL_01db: /* 2A | */ ret
IL_01dc: /* 02 | */ ldarg.0
IL_01dd: /* 28 | (06)0001C7 */ call instance void 'FFfkKPsdWJooe9NTIwi'.'cJS2Q2svBTmcohZuOPM'/*02000041*/::'mhEyGeZ3n'() /* 060001C7 */
IL_01e2: /* 18 | */ ldc.i4.2
IL_01e3: /* 2A | */ ret
} // end of method 'cJS2Q2svBTmcohZuOPM'::'E2UsqtBZU'
==========================================================
看来就是这样了。
能力值:
( LV2,RANK:10 )
27 楼
chenxiaolu 老师,可否加我QQ好友? QQ:16118401 希望认识一下,交流一下。我在线,只是隐身。
能力值:
( LV2,RANK:10 )
28 楼
我发现主要是脱壳,其实这个脱壳还不是很完美,如果完美脱壳后,可以使用REFLEXil插件直接修改程序文件然后重新编译一下就行了。
能力值:
( LV5,RANK:60 )
29 楼
我几乎不上Q,可以发邮件给我啦chenxiaolu2012@gmail.com
Reactor能脱就不错了......。不要要求太高嘛,多看《微软.net加密与解密》这本书。你现在只需要用UE直接修改文件就行了,第79页有详细介绍!!!!
能力值:
( LV2,RANK:10 )
30 楼
十分感谢,还是你有交流精神。
现在由于有些高手依靠解密技术赚钱,所以为了不造成竞争,越来越多的高手都隐蔽起来不交流了。
其实我认为交流学习归学习,赚钱就赚钱。
再说,就算是学了简单的技术,这些菜鸟离赚钱还有很大距离。不会给高手造成冲击。
本身论坛就是来学习交流的。
能力值:
( LV2,RANK:10 )
31 楼
晚上我再次学习中发现,脱壳后用你的方法修复,是可以找到解密的位置和源码,也可以修改,但是发现因为脱壳后的程序却运行不正常了。
运行脱壳后的程序,然后在菜单中选择“设定”,然后选择“股票名称代码编辑器”,然后你会发现出现错误。如果只脱壳后不修复就不会显示错误,但是不修复就看不到加密处的代码。
在QQ群设置中,加入QQ群后,在群号之前的方块打上“勾”时也会出现错误,而无法保存QQ群记录。
这种错误,在软件运行预警中,股票信息在预警到后发送到QQ群的时候也是出现这个错误。
我只是将这个软件在家里做了预警,然后再单位 QQ上使用。
请问一下这个问题如何解决?
谢谢了。
上传的附件:
能力值:
( LV2,RANK:10 )
32 楼
发一个脱壳的文件看看,这个软件在我机器上根本没法运行。。。
能力值:
( LV2,RANK:10 )
33 楼
需要安装.net framework 2.0 才能运行的,22楼有脱壳后的文件。
能力值:
( LV2,RANK:10 )
34 楼
看看 逛逛 学习了!!
能力值:
( LV5,RANK:60 )
35 楼
唉,我搞了2个多小时,想尽了办法还是不能彻底修复。绝望.....
于是我将文件发送给男友,让其帮忙研究,没想到15分钟后,丢下一个软件,说是这种东西最好打内存补丁。我狂受打击啊
附件就是他发送给我的文件,放在原先脱壳后的软件目录下运行。(首先需要保证成功脱壳,但不要修复,因为修复后软件有楼主说的bug)。
具体原理我还没弄明白,因为被该死的家伙加了混淆,现在他还在跟我装蒜。国庆节我一定要去把源码偷来,哇哈哈!
能力值:
( LV5,RANK:60 )
36 楼
刚才测试了一下,貌似XP下可以,Win7下不行,哇哈哈,我找他算账去。
能力值:
( LV3,RANK:30 )
37 楼
用得著這樣搞來搞去嗎?手工脫后,怎樣修改都可以,插件可以,winhex也可以,反編譯,再編譯回去也可以,哎,浪費時間
能力值:
( LV5,RANK:60 )
38 楼
唉,我们都是初学者,手脱不会啊,对于你来说肯定是非常简单了,能否共享一下方法啊......
帅哥哥~
能力值:
( LV2,RANK:10 )
39 楼
希望crackdung 老师能指点一下脱壳,最好给大家一个图文教程,我们不喜欢结果,我们喜欢脱壳的过程,不过手动脱壳确实不得要领,按着网上的图文教程,仍然不得要领,无法中断,也不能dump内存中的程序,更不要说是修复了。
特别感谢chengxiaolu老师的指导,希望能从中学习到更多的知识。
网上也有.net Reactor的脱壳教程,但是脱这个壳并不起作用,不知道为什么中断不下来。
能力值:
( LV2,RANK:10 )
40 楼
作者居然沒有簽名程序,這個算是簡單的了。
能力值:
( LV2,RANK:10 )
41 楼
看来老师能发一个学习指导?希望是手动脱壳。现在最麻烦的反而是难学习的地方。
可惜目前软件脱壳不能完成修复。
能力值:
( LV2,RANK:10 )
42 楼
chenxiaolu老师,你男朋友做的这个loader只是在内存中修改了一下这个程序注册成功显示创口,对整个程序的解密并没有什么作用。
虽然显示注册成功,但是有效期仍然为"已经到期“,而且生成的注册文件下次软件启动时仍然识别无效注册文件,只是显示一下“注册成功”而已,没有任何意义。
不过这个内存注入的思路对于解密是可行的,但是对于脱壳仍然没有帮助。
能力值:
( LV5,RANK:60 )
43 楼
唉,他比较懒,估计都没怎么仔细看程序,随便修改了个爆破点,敷衍我......
我过会儿去找他算账!
他说Hook JIT 可脱壳,可惜我也不懂......
等我再去修炼修炼......。
能力值:
( LV2,RANK:10 )
44 楼
在我又研究了1个小时,终于修炼完成脱壳,不会导致程序运行错误。
还是使用软件完成的,不过仍然没有学会手动脱壳。
还在不断休息,结果并不重要,重要的仍然要学会手动脱壳。
能力值:
( LV5,RANK:60 )
45 楼
恭喜楼主终于可以完美脱壳了,什么时候分享一下经验啊?
我让男友更新了一下Loader,也不知道Patch的全不全,不知道这软件怎么用啊......
就是没有source,唉......
上传的附件:
能力值:
( LV2,RANK:10 )
46 楼
其实也不算什么完美脱壳,只是反复研究了一下工具而已。
其实首先用工具脱壳时,壳已经被脱掉了,只是存在一些错误的地方,而程序调用没有出现问题,而最后修复的时候,修复的软件选项去修复那些错误的地方,结果弄巧成拙,把那些地方一修复,反而将程序运行的函数当成错误修复掉了,结果就出现运行错误的问题。
去掉第一个选项,然后其他宣布勾选,修复,完成了。
我之前还用其他软件修复了一下文件,更加完美一些。
不过仍然不如手动脱壳来的好,无法使用插件修改程序,反编译到程序不完全,所以不能再编译成程序。
我倒不把这个结果作为结束,还要仍然学习手动脱壳,毕竟那才真真理。
感谢你的男朋友的loader,我再试试如何。
上传的附件:
能力值:
( LV2,RANK:10 )
47 楼
loader已经试过了,没有问题。
替我感谢一下你男朋友,很厉害啊。
希望能告知一下,都修改那些位置的16进制代码来完成的呢?
这些16进制的代码,也可以用ildasm看到吗?
上传的附件:
能力值:
( LV5,RANK:60 )
48 楼
哦,原来是这样玩的,厉害啊。我怎么就没有想到
。
我真的很钦佩你的精神,一般人可能早就放弃了。
希望你我都能早日练成手动脱壳大法
....
能力值:
( LV5,RANK:60 )
49 楼
[QUOTE=liffeng;1004385]loader已经试过了,没有问题。
替我感谢一下你男朋友,很厉害啊。
希望能告知一下,都修改那些位置的16进制代码来完成的呢?
这些16进制的代码,也可以用ildasm看到吗?
[/QUOTE]
我现在还不清楚,国庆去偷源码看后,再来分享技术。哇哈哈......
能力值:
( LV5,RANK:60 )
50 楼
他刚说:他用的方法主要是MethodDesc* 的指针变量和Assebly中MethodInfo进行了转换。可以动态替换需要的IL字节。无论软件怎样加密,只要用Windbg在JIT层获得IL代码,分析出注册位置,都可以用此方法进行动态替换。
他还说:就算原版软件不脱壳也可以Patch,只要写个Debug API Attach到新建的进程上,等软件启动后,只需要获得Assembly对象就可以了。不过他比较懒,编写的时候,直接引用了脱壳后的文件。
他只说了这么多,我是一头雾水,不是很懂,唉,要学的太多......
估计源码就算拿给我,我也看不懂........
他说这样Patch的很大一个好处就是可以尽可能的避规法律风险......
有一款开源项目叫做mono Cecil的可以实现动态IL注入,和他的原理类似,比他写的还要好,建议我们去看看就知道了。