wallle111 发表于 2019-8-5 10:44

PDF编辑器破解过程

本帖最后由 wallle111 于 2019-8-5 11:16 编辑

软件下载地址:http://www.onlinedown.net/soft/454121.htm
一、首先查壳,两个查壳软件都提示没壳,就是C#写的Win Form程序。

二、运行软件,观察未注册特征,标题栏有未注册提示,菜单栏有点击购买菜单点击会弹出输入注册码按钮和跳转到购买注册码的网址。



三、打开PDF文件,保存PDF文件还会有水印。


四、开始动手,拖入.Net Reflector 8.4\Reflector.exe中,搜索注册两个字。

找到了注册对话框点击按钮的代码,发现有几个变量都必须为TRUE的时候才能注册成功。

加载Reflexil插件,修改这四个变量的值为true,这样不需要输入任何注册码都可以注册成功。

update,保存。

其实刚才仔细看的话,能发现这个软件其实不用破解这个exe文件本身就可以达到破解的目的。
从上边的代码就是在软件的运行目录创建了一个文件codec.dll,往里边写入了一个字符串20130303,在另外一个地方可以验证我的想法。
在程序加载的时候就是判断这个文件的内容来判断是否是注册版本。


四、运行破解后的软件,不需要输入注册码,提示注册成功,重启软件,以后就是破解版本了,保存PDF也没有水印了。

wtujoxk 发表于 2019-8-5 14:08

本帖最后由 wtujoxk 于 2019-8-5 14:13 编辑

                private void cmdOK_Click(object sender, EventArgs e)
                {
                        string text = this.txtReg.Text;
                        bool flag = false;
                        bool flag2 = false;
                        bool flag3 = false;
                        bool flag4 = false;
                        for (int i = 1; i < this.txtReg.Text.Length; i++)
                        {
                              bool flag5 = this.txtReg.Text.Substring(i, 1) == "W";
                              if (flag5)
                              {
                                        flag = true;
                              }
                              bool flag6 = this.txtReg.Text.Substring(i, 1) == "A";
                              if (flag6)
                              {
                                        flag2 = true;
                              }
                              bool flag7 = this.txtReg.Text.Substring(i, 1) == "N";
                              if (flag7)
                              {
                                        flag3 = true;
                              }
                              bool flag8 = this.txtReg.Text.Substring(i, 1) == "G";
                              if (flag8)
                              {
                                        flag4 = true;
                              }
                        }
                        bool flag9 = flag && flag2 && flag3 && flag4;
                        if (flag9)
                        {
                              MessageBox.Show("注册成功,请重新启动程序", "成功", MessageBoxButtons.OK);
                              FileStream fileStream = new FileStream(Application.StartupPath + "\\codec.dll", FileMode.Create);
                              StreamWriter streamWriter = new StreamWriter(fileStream);
                              string value = "20130303";
                              streamWriter.Write(value);
                              streamWriter.Flush();
                              streamWriter.Close();
                              fileStream.Close();
                        }
                        else
                        {
                              MessageBox.Show("无效的注册码", "失败", MessageBoxButtons.OK);
                        }
                        base.Close();
                }

从这里的代码可以直接看出注册码,第一位任意,后面只要注册码里包含WANG这四个字符就行了,比如:1WANG、2ANGW、3GANW、0GGANNNW等等类型的注册码
装逼一点的注册码:CIEKCKFLAAOEILC154WDES32N354WDKOG132CDEG

wallle111 发表于 2019-8-5 10:50

追码的话,就能看出来,注册码超过5位,并且只要出现WANG四个字符就可以

studyggm 发表于 2019-8-5 10:55

简单,但有效。支持分享

wnzczh4987 发表于 2019-8-5 10:58

支持一下,想PDF一搬都是免费的吧,不过一些功能是收费的

kanarrows 发表于 2019-8-5 11:00

涨见识了.{:301_993:}

暴躁de蜗牛 发表于 2019-8-5 11:01

腻害 学习了

麻花藤 发表于 2019-8-5 11:10

厉害了我的楼主

搜索曾经的回忆 发表于 2019-8-5 11:16

非常好的教程

老万 发表于 2019-8-5 11:23

谢谢楼主分享,学习了

我心永恒恒恒 发表于 2019-8-5 11:30

技术很厉害,adobe 的替换一下某个文件,由试用版变成会员版,功能应该也一样
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: PDF编辑器破解过程