学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

2万

积分

41

好友

1157

主题
发表于 2020-9-6 14:48:10 | 查看: 5481| 回复: 0
软件介绍  这是一个简单易用的图形表达工作台,既能实现流程图、架构图、工程图、思维导图等数百种专业领域图形图表的绘制,又能提供一个白板进行头脑风暴和任意编排,轻松实现数据和创意的可视化呈现。
  软件试用版和正式版有什么区别?
  设计软件试用版,可以免费使用15天,导出和保存均有水印,试用期过后不能再导出和保存文件,部分功能会有所限制。正式版可终身使用,导出和保存的文件没有水印,享受全功能。
  从官网下载最新版本10.1.2,从界面上可以看到软件为试用版。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  环境在断网情况下进行的,为了避免可能的联网验证,所以我断开了网络,打开软件,OD进行附加,点击激活按钮查看界面等信息。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
界面破解  随便输入一些信息,然后点击激活按钮,产品提示密钥无效,请重新输入。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  点击确定后OD对API进行下断点。因为点击后创建了个窗口或是对话框,所以对这几个API进行下断DialogBoxParam、CreateWindowEx、MessageBox(A和W都要下)

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  点击按钮后在CreateWindowExW断下,然后看堆栈,查找返回地址,找主模块的返回

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  alt + E查看主模块基地址,将文件用IDA加载静态辅助分析,IDA 基地址修改为OD中基地址0x1350000

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  alt + C 回到代码窗口查看堆栈调用 找到EdrawMax模块调用,找到第一个,然后IDA跳转到这个位置,返现调用这里的很多,继续向下找堆栈返回

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  又找到了一处调用,IDA跳转查看。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  IDA中在这里发现了一句话License code is not valid, please re-input it.翻译为中文就是许可码无效,请重新输入。看来就是这里了,IDA向上查看代码,交叉引用查看调用

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  这个位置会验证输入的产品密钥长度,我们将密钥重新更改为长度为0x14的密钥再次点击尝试

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  对话框改变了,点击确定之后随便输入点激活码,再点击手动激活

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  同样在CreateWindowExW断下,然后看堆栈,查找返回地址,找主模块的返回,和上次一样,在第二处返回到找到了关键代码IDA打开查看

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  IDA中看到Activation Failed!激活失败!

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  交叉引用找到跳转到失败这里,发现有两处会跳转到失败的代码

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  我们在OD尝试将两处NOP掉。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  果然更改后的跳转会显示激活成功。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  OD将PE文件右键复制到可执行文件,所有修改,更改保存到可执行文件,然后替换源文件重新启动附加。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  启动更改后的程序,然后点击激活,显然我们并没有激活。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  关闭注册窗口,打开OD再次附加该进程,在API CreateWindowExW上下断,点击激活然后查看堆栈,不断查找栈回溯,会找到了注册响应函数(IDA需重新更改OD上主模块的基地址)

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  调用call_windows返回窗口对象来显示对话框。进入函数,在函数内发现了提示失败的英文信息,那么可以初步判断是这个函数里来判断响应哪个并返回窗口对象

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  在函数内第一个跳转进行强行改为不跳转试一下,窗口感觉是对的,但是窗口上的内容对不上,不是这里,重新启动,继续分析该函数.

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  F5尝试IDA辅助转换C代码查看,两个返回,2是我们强改后窗口变小的失败的窗口,那么从1返回的V95向上查看入手

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  函数上方发现有两处对V95相关做变更的判断,正常执行一遍没有经过判断中的代码,创建的窗口就是注册窗口。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  将这两个位置的判断进行nop更改,第一处

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  第二处

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  果然,窗口已经变为我们输入的注册码,激活按钮已经变灰无法点击,当然到这里仅仅是界面被修改,并没有达到使用vip功能的地步。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
功能破解  先找一个VIP功能提示界面,创建文档导出word文档,显示升级vip会员,关掉窗口,CreateWindowExW下断,点击word导出断下

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  同样的方法通过栈回溯找到这里。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  函数中有两个call上面的就是检测是否激活函数,下面的便是没有激活创建的提示购买VIP窗口。所以我们需要将detection_activated的返回值始终为1就可以了。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  detection_activated这个函数返回值经过ebp+ret_flag赋值,向上查找谁操作的ebp+ret_flag

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  在上面代码看到了有0赋值给ebp+ret_flag,OD将这里更改汇编为1,然后再次点击激活按钮。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  可以导出了。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  OD重新保存修改到可执行文件,然后重新打开软件,试用版已经没有了。到此破解完毕。导出一个PDF没有水印,也不会弹出VIP提醒。

【软件逆向】某绘图软件的逆向破解

【软件逆向】某绘图软件的逆向破解
  文件就不放了,如果侵权,版主大大联系删除。
  《0day安全 软件漏洞分析技术(第二版)》第三次再版印刷预售开始!


温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的认可,还可以获得学币奖励,请尊重他人的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
论坛交流群:672619046

小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

GMT+8, 2024-4-24 05:41 , Processed in 0.105665 second(s), 42 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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