吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 27200|回复: 111
收起左侧

[.NET逆向] PDF编辑器破解过程

  [复制链接]
wallle111 发表于 2019-8-5 10:44
本帖最后由 wallle111 于 2019-8-5 11:16 编辑

软件下载地址:http://www.onlinedown.net/soft/454121.htm
一、首先查壳,两个查壳软件都提示没壳,就是C#写的Win Form程序。
微信截图_20190805102931.png
二、运行软件,观察未注册特征,标题栏有未注册提示,菜单栏有点击购买菜单点击会弹出输入注册码按钮和跳转到购买注册码的网址。
微信截图_20190805102135.png

微信截图_20190805102229.png
三、打开PDF文件,保存PDF文件还会有水印。
微信截图_20190805102254.png
微信截图_20190805102325.png
四、开始动手,拖入.Net Reflector 8.4\Reflector.exe中,搜索注册两个字。
微信截图_20190805102448.png
找到了注册对话框点击按钮的代码,发现有几个变量都必须为TRUE的时候才能注册成功。

加载Reflexil插件,修改这四个变量的值为true,这样不需要输入任何注册码都可以注册成功。
微信截图_20190805102609.png
update,保存。
微信截图_20190805102631.png
其实刚才仔细看的话,能发现这个软件其实不用破解这个exe文件本身就可以达到破解的目的。
从上边的代码就是在软件的运行目录创建了一个文件codec.dll,往里边写入了一个字符串20130303,在另外一个地方可以验证我的想法。
在程序加载的时候就是判断这个文件的内容来判断是否是注册版本。
微信截图_20190805102520.png

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

免费评分

参与人数 31吾爱币 +31 热心值 +27 收起 理由
mrsdz + 1 + 1 注册成功,谢谢分享
xie8xie + 1 + 1 用心讨论,共获提升!
Hmily + 6 + 1 用心讨论,共获提升!
Tomcrack520 + 1 用心讨论,共获提升!
男阁是座城 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
lyfast + 1 + 1 干的漂亮,收藏了
15291037368 + 1 用心讨论,共获提升!
Bestwishes214 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
dreamlivemeng + 1 + 1 我很赞同!
1024kbg + 1 + 1 热心回复!
play910417 + 1 + 1 我很赞同!
wangkai558 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
totoroyyw + 1 热心回复!
学习使人进步 + 1 用心讨论,共获提升!
q723948 + 1 + 1 用心讨论,共获提升!
w516258928 + 1 + 1 我很赞同!
xuexiyixiaxia + 1 + 1 我很赞同!
ChenLei123 + 1 + 1 热心回复!
硬梆梆的漢堡包 + 1 + 1 注册码:CIEKCKFLAAOEILC154WDES32N354WDKOG132CDEG
jese + 1 + 1 用心讨论,共获提升!
火红辣椒一大把 + 1 我很赞同!
红烧排骨 + 1 用心讨论,共获提升!
lishixin23 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
zats167 + 1 我很赞同!
xaibin + 1 + 1 谢谢@Thanks!
tailor001 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
浅唱的dd + 1 + 1 我很赞同!
虚竹1001 + 1 谢谢@Thanks!
初恋酱 + 1 鼓励转贴优秀软件安全工具和文档!
toyours + 1 + 1 鼓励转贴优秀软件安全工具和文档!
wnzczh4987 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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

[C#] 纯文本查看 复制代码
                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

免费评分

参与人数 2吾爱币 +7 热心值 +2 收起 理由
Hmily + 6 + 1 用心讨论,共获提升!
Lumi + 1 + 1 我很赞同!

查看全部评分

 楼主| 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
涨见识了.
暴躁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 的替换一下某个文件,由试用版变成会员版,功能应该也一样
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-25 02:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表