吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2502|回复: 4
上一主题 下一主题
收起左侧

[会员申请] 申请会员ID:koalakoala【申请通过】

[复制链接]
跳转到指定楼层
楼主
吾爱游客  发表于 2021-6-17 15:24 回帖奖励 |自己
1、申 请 I D:koalakoala
2、个人邮箱:3568284@qq.com

3、原创技术文章:

涉及.net和C++两种环境的某CAD插件调试主要调试工具:dnspy,x64dbg。主要特点:本程序综合性较强,但代码清晰,修改比较简单。适合新人入门上手。1.首选默认安装软件,打开看一下。软件直接启动CAD并弹出要求登录的界面。关掉,重新只打开CAD,同样自动加载并弹出登录界面。界面如下。这样就很不好,如果不想用这个软件,只打开CAD还是受影响。 2.我们先看看安装好的文件里面,有什么发现。经查看,在文件夹中并没有发现什么有价值的线索。3.重返CAD和登录界面,我们发现,登录界面挡在前面时,后面的CAD是可以用的。我们去任务管理器看一下。 在CAD的进程下,前两个任务看起来不对劲,因为CAD是没有这两个的。关掉登录界面,发现这两个任务少了一个 初判这个就是登录界面,我们在其上右建,打开文件位置。来到软件安装目录下的一个子目录,看到任务同名EXE。
直接双击打开,弹出一个未初始化的对话框如下图,一看样子就知道是net写的。为了证明互底是不是这个文件是登录对话框,我们把它删除了,果然再打开程序不出登录了。 4.先用dnspy打开看一下,没混淆,还挺清楚。但是查不到谁调用的这个EXE。 5.我们在文件夹中继续看,发现一个文件叫Leadsoft.LoginControl.dll这个文件从名字上可以看出来是管登录的。看这个命名,以.分段的,直接判断为net写的dll,直接托到dnspy里,果然是net的dll。
画红框的,很象是调用登录对话框和初始化的函数,但是登录对话框又是EXE?不清楚咋回事目前,先断下来,试试看。上述函数设断点,附加到CAD调试。在CAD里点登录,啥也没断到,但是登录界面也没出来。很怪。6.由于启动时也要调用登录界面所以我们启动时试一下。关掉软件,再启动。在CAD启动初始化时,赶紧附加到CAD调试。果然断下来了,断到InitializeComponent()上。看一上调用堆栈如下:
CAD的dll调用了Leadsoft.Dhub.Plugin2018.dll中的login函数,这个函数又调用了Leadsoft.LoginControl.dll中的函数,再调用登录对话框。去根上看一下。进到Leadsoft.Dhub.Plugin2018.dll中的login函数中。函数开头设一个断点,然后让程序跑起来。7.关掉程序自动启动的登录界面,手点一下登录,果然断到Leadsoft.Dhub.Plugin2018.dll中的login函数的开头,单步执行一下,跳到这里: 什么叫beforelogin?登录之前?那上面的afterlogin呢?登录之后?由于函数太长了,我就不贴了,分析一下大概意思是,先判断一下是否自动登录,如果是,在注册表中找注册信息,找到了就调用afterlogin,找不到就调用beforelogin,然后再弹出登录界面。去afterlogin和beforelogin里去看一下,就是对界面的控制。很多菜单的enable。8.即然这样,简单粗爆一点,直接把Leadsoft.Dhub.Plugin2018.dll中的login函数改了,无条件执行afterlogin。直接右键-编辑方法,改成如下这样:


9.重启软件,发现如下变化,提示在线,开通会员也亮了,但是点啥都没有反应。
10.看一CAD的命令行里,命令: _borderinsert命令: D_Login命令: _Symb1ins命令: D_Login无论执行啥命令,都调用D_Login命令,这个就是登录命令。我们找到D_Login命令的定义,断下,随便找一个命令执行一下,断下后,看调用堆栈。
都是CAD的系统函数,跟完也没有返回到Leadsoft.Dhub.Plugin2018.dll,看来这个调用来自ARX文件。11.关掉dnspy,改用x64dbg附加调试CAD。在符号窗口,看到加载了100多个该程序的DLL和ARX。一点提示没有,该从哪个入手?先分析一下这些文件的位置,有90个以上位于X:\XX\SWORKS_V10.0_CAD2018\Support\LEADAPP,有12个位于X:\XX\SWORKS_V10.0_CAD2018\Support,且这12个中,有一个是hasp_windows_x64_101226.dll,很明显是狗的dll。先从这12个下手。12.我们先把X:\XX\SWORKS_V10.0_CAD2018\Support中的文件按从大到小排列一下,一般情况下,大的文件里内容多,很多编程的喜欢把加密写在里面。排序后,我们发现LdSWObj201301PWF.dll最大,我们看一下他里面有什么导出函数。

看到函数6感觉很可疑,判断是否有狗?这也太明显了吧,下断运行,一点返应没有,失算了。13.这时符号表中看到LdSWObj201301PWF.dll下面有一个函数和他名字非常接近。LdSWParSet201301PWF.dll 我们也看一下他的导出函数
虽然这个DLL比较小,但是还真有三个可疑的函数。函数名字面理解,是否有权利运行程序?全断下来。运行一个命令,断到HasRunProgramRight201301PWF_LeadSoft_SW201301函数。函数很简单,如下: 单步到返回:

很明显,判断eax是1还是0,是0就跳结尾了,啥也没执行。那我们就让他返回1。HasRunProgramRight201301PWF_LeadSoft_SW201301按下图修改。再运行一下命令,成功了,保存。14.这就算完了?为了保险起见,进行修改后的程序,把每个命令都执行一下。果然发现两个功能不能用。(1)智能识图,点开后弹窗
(2)接线生成,点击还是调用D_login命令,界面上没有任何返应。 15.再用x64dbg附加,先处理没反应的接线生成功能。附加后还用原来的断点,我们点一下接线生成,断到LdSWObj201301PWF.dll中的hasdog函数上,CTRL+F9跟到返回。
返回后判断eax是否为1。那就直接让eax=1。修改方法同前,改后运行命令成功。16.下断user32中messagebox,运行智能识图。断下后,单步到弹出对消息框,确定,再单步跟回到本程序到的文件中。位于ldassistbar.arx中,返回位置如下:
这个函数调用完messagebox后,后面的代码还是全执行了,所以这个函数是专们传递信息的,不涉及真正的执行程序功能代码。把他执行完,返回到下面: 返回后eax=0,跳到最后了,没有执行程序功能代码。所以我们让调用messagebox的函数不调用messagebox,直接返回1。改法同上。再执行智能识图,成功。17.总结:(1)本软件调试过程是从对软件认识全无入手, “不择手段”进行解密,快速达到效果的典型案例,有助于提升新手自信心。(2)本软件调试比较简单,但是找到问题题点不易。有人会说第11步和第12步找到那两个关键的DLL文件有点运气成份。其实不然,X:\XX\SWORKS_V10.0_CAD2018\Support\LEADAPP目录下,根据文件名字看,全是软件功能实现。而X:\XX\SWORKS_V10.0_CAD2018\Support目录下,基本上是软件控制的一些DLL文件,这里一共12个DLL被加载,数量不多,且导出函数的量也不多,即使一个一个看,也看得过来。(3)如果说这12个DLL里没有那几个相关的函数咋办?那就去X:\XX\SWORKS_V10.0_CAD2018\Support\LEADAPP目录下,根据软件功能对应的英文,找到对应的arx文件,运行调试一下,看是如何出错的,再详细跟踪。

18.png (21.83 KB, 下载次数: 1)

18.png

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

沙发
Hmily 发表于 2021-6-18 11:14
I D:koalakoala
邮箱:3568284@qq.com

申请通过,欢迎光临吾爱破解论坛,期待吾爱破解有你更加精彩,ID和密码自己通过邮件密码找回功能修改,请即时登陆并修改密码!
登陆后请在一周内在此帖报道,否则将删除ID信息。

ps:登陆后把文章整理一下发布到脱壳破解区吧。
3#
吾爱游客  发表于 2021-6-18 14:27 |自己
来报道了,感谢各位管理员。
中午睡觉刚起来,就看到这个,激动万分。
再次表示感谢
4#
koalakoala 发表于 2021-6-18 14:40
来报到了,这回是登录后的报到,刚才着急,直接以游客身份报到了。
多谢版主和管理员的认可。
5#
koalakoala 发表于 2021-6-19 19:39
报到没有报上吗?再报到一次,以防万一
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-14 12:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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