发表于 2015-8-31 20:21

申请会员ID:小政【冒充他人作品申请】

1、申 请 I D :小政                                 
2、个人邮箱:1520765870@qq.com
3、原创技术文章:net程序破解

今天同学给我发了个百度文库下载器让我看下,要注册,习惯性的先抄起OD,不过载入后没断下来程序直接跑起来了。。。看了下原来是.net程序撒,一直没搞过这玩意,网上找了下资料,发现也不是很难。
程序是这样子的,我擦CSDN传不了图片?
反正就是这样,拿Reflector打开找到关键位置

view plaincopyprint?


[*]private void Button9_Click(object sender, EventArgs e)
[*]{
[*]    try
[*]    {
[*]      RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\老张百度文库下载器", true);
[*]      key.SetValue("注册码", this.TextBox3.Text.Trim());
[*]      Module1.code2 = this.TextBox3.Text.Trim();
[*]      key.Close();
[*]      key = null;
[*]      Module1.IsCopyRight = Conversions.ToBoolean(Module1.Get_zccode(Module1.code1, Module1.code2));
[*]      if (Module1.IsCopyRight)
[*]      {
[*]            this.TabPage3.Text = "软件注册(已注册)";
[*]            this.Button9.Enabled = false;
[*]            this.Button8.Enabled = false;
[*]            this.Button10.Enabled = false;
[*]            this.TextBox3.ReadOnly = true;
[*]            Interaction.MsgBox("注册成功,感谢您使用正版软件!", MsgBoxStyle.OkOnly, null);
[*]      }
[*]      else
[*]      {
[*]            this.TabPage3.Text = "软件注册(未注册)";
[*]            Interaction.MsgBox("注册失败,请检查您的注册码或与软件提供商联系!", MsgBoxStyle.OkOnly, null);
[*]      }
[*]    }
[*]    catch (Exception exception1)
[*]    {
[*]      ProjectData.SetProjectError(exception1);
[*]      Exception exception = exception1;
[*]      Interaction.MsgBox(exception.Message, MsgBoxStyle.OkOnly, "系统提示");
[*]      ProjectData.ClearProjectError();
[*]    }
[*]}
[*]
[*] 可以看到 Module1.IsCopyRight = Conversions.ToBoolean(Module1.Get_zccode(Module1.code1, Module1.code2));
[*]      if (Module1.IsCopyRight)

private void Button9_Click(object sender, EventArgs e){    try    {      RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\老张百度文库下载器", true);      key.SetValue("注册码", this.TextBox3.Text.Trim());      Module1.code2 = this.TextBox3.Text.Trim();      key.Close();      key = null;      Module1.IsCopyRight = Conversions.ToBoolean(Module1.Get_zccode(Module1.code1, Module1.code2));      if (Module1.IsCopyRight)      {            this.TabPage3.Text = "软件注册(已注册)";            this.Button9.Enabled = false;            this.Button8.Enabled = false;            this.Button10.Enabled = false;            this.TextBox3.ReadOnly = true;            Interaction.MsgBox("注册成功,感谢您使用正版软件!", MsgBoxStyle.OkOnly, null);      }      else      {            this.TabPage3.Text = "软件注册(未注册)";            Interaction.MsgBox("注册失败,请检查您的注册码或与软件提供商联系!", MsgBoxStyle.OkOnly, null);      }    }    catch (Exception exception1)    {      ProjectData.SetProjectError(exception1);      Exception exception = exception1;      Interaction.MsgBox(exception.Message, MsgBoxStyle.OkOnly, "系统提示");      ProjectData.ClearProjectError();    }} 可以看到 Module1.IsCopyRight = Conversions.ToBoolean(Module1.Get_zccode(Module1.code1, Module1.code2));      if (Module1.IsCopyRight) view plaincopyprint?


[*]



就是计算注册码然后设置IsCopyRight布尔变量的值,将判断语句条件改为!Moudle.IsCopyRight就可以了。。。懒得看算法,其实进去看了也不难。。
怎么改呢,切换到IL

view plaincopyprint?


[*]L_005d: stsfld bool 老张百度文库下载器.Module1::IsCopyRight
[*] L_0062: ldsfld bool 老张百度文库下载器.Module1::IsCopyRight
[*] L_0067: brfalse.s L_00b8

   L_005d: stsfld bool 老张百度文库下载器.Module1::IsCopyRight    L_0062: ldsfld bool 老张百度文库下载器.Module1::IsCopyRight    L_0067: brfalse.s L_00b8
计算的值出栈到IsCopyRight,然后入栈判断是否为false来跳转,我们将brfalse.s改为brtrue.s就可以了。

打开ildasm找到对应的位置,显示字节

view plaincopyprint?


[*]IL_005d:/* 80   | (04)00004C       */ stsfld   bool '老张百度文库下载器'.Module1::IsCopyRight
[*]IL_0062:/* 7E   | (04)00004C       */ ldsfld   bool '老张百度文库下载器'.Module1::IsCopyRight
[*]IL_0067:/* 2C   | 4F               */ brfalse.sIL_00b8
[*]IL_0069:/* 02   |                  */ ldarg.0

    IL_005d:/* 80   | (04)00004C       */ stsfld   bool '老张百度文库下载器'.Module1::IsCopyRight    IL_0062:/* 7E   | (04)00004C       */ ldsfld   bool '老张百度文库下载器'.Module1::IsCopyRight    IL_0067:/* 2C   | 4F               */ brfalse.sIL_00b8    IL_0069:/* 02   |                  */ ldarg.0
特征码2C 4F 02,本来我天真的以为,这玩意改下跳转地址也可以的,我打算是将4F(是跳转的偏移,错误跳到的标号处)改为01,但是没成功。

正确的是将2C改为2D,不懂的看下IL指令,ue中修改后保存运行,随便输入一个注册码,注册成功

Hmily 发表于 2015-9-1 11:45

http://blog.csdn.net/evi10r/article/details/7381262

这是你?

hx1314520 发表于 2015-9-1 13:42

表示已醉!

c1143973391 发表于 2015-9-1 13:45

Hmily 发表于 2015-9-1 11:45
http://blog.csdn.net/evi10r/article/details/7381262

这是你?

H大亮了,哈哈哈。原文章找出来了

984754551 发表于 2015-9-1 13:45

抄的抄的,最后几行都没排版。

AlanTR 发表于 2015-9-1 13:45

Hmily 发表于 2015-9-1 11:45
http://blog.csdn.net/evi10r/article/details/7381262

这是你?

偷别人博客的文章吧?原文是12年的。。。

Zero丶冻结 发表于 2015-9-1 13:48

偷得别人的,上面的“CSDN传不了图片”都还没删。。

Skywol 发表于 2015-9-1 21:22

我也是看醉了啊

137310853 发表于 2015-9-2 23:37

H大怎么那么叼?人家抄袭的你也能找到原文{:301_1002:}

爱学习的新手 发表于 2015-9-3 00:14

起码要偷国外的呀
页: [1] 2
查看完整版本: 申请会员ID:小政【冒充他人作品申请】