能力值:
(RANK:10 )
|
-
-
2 楼
Thanks MegaX.
|
能力值:
(RANK:280 )
|
-
-
3 楼
多谢楼主,:)
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
不同凡响!!!!!!
|
能力值:
( LV5,RANK:60 )
|
-
-
5 楼
thx a lot
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
THS............老大动作真快。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
多谢分享,动作好快
|
能力值:
( LV9,RANK:250 )
|
-
-
8 楼
真快,厉害。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
多谢分享,动作好快
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
很好,下一个
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
好久没见了,MegaX大侠!!!
想你想的紧啊
|
能力值:
( LV9,RANK:290 )
|
-
-
12 楼
好东西收藏备用!
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
[QUOTE=;]...[/QUOTE]
Thanx much
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
多谢楼主分享!!!!
|
能力值:
( LV9,RANK:170 )
|
-
-
15 楼
MYGOD,CRACK
MEGA,X
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
好东西,谢谢楼主!!
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
收下了,谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
我通过pediy发了个邮件给megax,有两个Dis#的问题请教,不知道收到没有?
|
能力值:
( LV4,RANK:50 )
|
-
-
19 楼
1. 为什么使用了ildasm反编译EXE之后,再编译回去,再对publicKey进行替换,程序能执行,但在菜单File->Load assembly时,报"找不到对象的错误"? 是不是有些地方还未破解完全?2. 另外就是在aboutForm中没法添加姓名等破解信息,我看你破解的EXE中是在一个函数前面直接插入了三行代码,我照着在自己生成的相应IL文件中添加了对应的代码之后,再使用ilasm编译为exe时报错, 没法生成,不知道是不是函数代码增长的缘故. 我只有把原始代码中的某些代码删除,让此函数的长度不变,这样才能编译通过,但也会产生前面第一个问题.
1.Dis#是有对PUBLICKEY进行验证,必须要去掉验证那部分
2.关于修改IL代码,不是函数代码增长的缘故,应该是你写的IL有问题所造成的
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
问题1: 我已经使用了snr.exe对publicKey和token进行替换, 程序的主窗体是可以打开的,如果publickey未替换,则打开程序时即报异常错误,没法运行的,难道还有地方没清除干净? 我查过publicKey的引用,只有一处,而且也是所有publicKey的一个简单对比, 应该是这样吧. 难道是EXE中引用了部分publicKey,而不是一个完整的publicKey, 需要单独替换这部分?
问题2,直接编辑IL代码,如果把
IL_0000: /* 7E | (0A)0002F7 */ ldsfld int32 ['Dis#.License'/*2300000B*/]DisSharp.Library.LicenseData/*01000144*/::Version /* 0A0002F7 */
IL_0005: /* 0A | */ stloc.0
IL_0006: /* 7E | (0A)0002F8 */ ldsfld uint8[] ['Dis#.License'/*2300000B*/]DisSharp.Library.LicenseData/*01000144*/::Data /* 0A0002F8 */
IL_000b: /* 0B | */ stloc.1
IL_000c: /* 06 | */ ldloc.0
IL_000d: /* 17 | */ ldc.i4.1
IL_000e: /* 31 | 07 */ ble.s IL_0017
IL_0010: /* 07 | */ ldloc.1
IL_0011: /* 28 | (06)001315 */ call uint8[] ''.''/*0200031F*/::''(uint8[]) /* 06001315 */
IL_0016: /* 0B | */ stloc.1
IL_0017: /* 07 | */ ldloc.1
IL_0018: /* 28 | (06)001A9A */ call class [System.Xml/*23000006*/]System.Xml.XmlDocument/*01000016*/ ''.''/*020004DA*/::''(uint8[]) /* 06001A9A */
IL_001d: /* 0C | */ stloc.2
IL_001e: /* 08 | */ ldloc.2
这些全部删除,刚好够我添加的IL代码部分,如果是这样,IL是可以编译通过的,EXE也可以执行,只是load assembly打开时报错. 如果不删除上面的代码,直接添加部分IL(当然上面的序号要调整), 此时使用ilasm编译时就报错.
另外,是否文件长度变化了,就必须要替换publicKey重新签名, 如果直接在hexedit中修改变量值,文件长度不变,则不用替换publicKey,且程序功能正常,只是没法添加破解信息.
|
能力值:
( LV4,RANK:50 )
|
-
-
21 楼
1.现在验证PUBLICKEY有很多方法,你单单搜索GETPUBLICKEY是不够的,他可以通过其他的方法来获取PUBLICKEY.
2.IL修改,你加多少和删除多少应该是没有问题的,关键是你加的IL必须要保持栈的平衡
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
谢了更新下
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
准确的说是如何获取"GetPublicKey",
IL的确能编辑,编译了,没搞搞,估计有个看不见的乱字符在代码中
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
下来收藏!!谢谢了
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
又一个好东西
|
|
|