- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第27课 .net程序破解
.net程序破解主要使用的工具是.net Reflector。本教程所用的版本为。
.net程序要想运行起来,系统必须装有.net Frame Work环境,目前有1.1和2.0两个版本。
有6种语言可供切换、选择。你可以选择你熟悉的编程语言。IL是中间语言,可读性差。但修改时要通过它来定位字节码,修改指令,最后通过16进制编辑器(ultraedit或winhex)来达成心愿。微软的Ildasm只能反汇编为IL语言,可读性差,因此,破解时不如.net Reflector好用。另外,IDA pro也是破解.net程序不错的工具。
Ildasm的使用参见附录1,IL语言中各函数的含义参见附录2,仔细研读,你就会熟悉il语言,破解起来游刃有余。
〔例1〕ForUIC
运行程序,如图:
就是弹出个窗口,说未注册
.net Reflector载入程序,如图:
目标程序总在最下方,像剥粽子一样的层层剥开。注意:其中,References不是我们关心的,不必展开。
双击Main程序,在右边可以看到代码,我选的是VB。如图:
你若稍微懂一点编程,很容易看懂。程序进行了一个比较,13和23比,不相等,因此,永远弹出注册失败。因此,有3种改法:
(1)13改为23
(2)23改为13
(3)num1不等于23,不相等则跳,bne改为beq
然后,切换到IL语言,代码如下:
.method public hidebysig static void Main() cil managed
{
.entrypoint
.maxstack 2
.locals init (
[0] int32 num1)
L_0000: ldc.i4.s 13
L_0002: stloc.0
L_0003: ldloc.0
L_0004: ldc.i4.s 23
L_0006: bne.un.s L_001a
L_0008: ldstr Registrato!
L_000d: ldstr Crackme
L_0012: call [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string, string)
L_0017: pop
L_0018: br.s L_002a
L_001a: ldstr Devi registrarmi! :-(
L_001f: ldstr Crackme
L_0024: call [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string, string)
L_0029: pop
L_002a: ret
}
光标停在 L_0000: ldc.i4.s 13显示指令1f 而13的16进制为0d
光标停在 L_0002: stloc.0 显示指令0a
用ILDasm察看,更加清晰。注意:“视图”菜单中,将“显示字节”打上对号,如图:
.method public hidebysig static void Main() cil managed
// SIG: 00 00 01
{
.entrypoint
// 方法在 RVA 0x2050 处开始
// 代码大小 43 (0x2b)
.maxstack 2
.locals init (int32 V_0)
IL_0000: /* 1F | 0D */ ldc.i4.s 13
IL_0002: /* 0A | */ stloc.0
IL_0003: /* 06 | */ ldloc.0
IL_0004: /* 1F | 17 */ ldc.i4.s 23
IL_0006: /* 33 | 12 */ bne.un.s IL_001a
IL_0008: /* 72 | (70)0000
文档评论(0)