吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4076|回复: 5
收起左侧

[原创] 涉及.net和C++两种环境的某CAD插件调试

[复制链接]
koalakoala 发表于 2021-6-18 18:32
各位领导好,本人新人。此区头一次发贴,请大神多指导。谢谢
涉及.net和C++两种环境的某CAD插件调试主要调试工具:dnspy,x64dbg。主要特点:本程序综合性较强,但代码清晰,修改比较简单。适合新人入门上手。安装程序下载地址:1.首选默认安装软件,打开看一下。软件直接启动CAD并弹出要求登录的界面。关掉,重新只打开CAD,同样自动加载并弹出登录界面。界面如下。这样就很不好,如果不想用这个软件,只打开CAD还是受影响。 1.png
2.我们先看看安装好的文件里面,有什么发现。经查看,在文件夹中并没有发现什么有价值的线索。

3.重返CAD和登录界面,我们发现,登录界面挡在前面时,后面的CAD是可以用的。我们去任务管理器看一下。
2.png

在CAD的进程下,前两个任务看起来不对劲,因为CAD是没有这两个的。关掉登录界面,发现这两个任务少了一个
3.png

初判这个就是登录界面,我们在其上右建,打开文件位置。来到软件安装目录下的一个子目录,看到任务同名EXE。
4.png

直接双击打开,弹出一个未初始化的对话框如下图,一看样子就知道是net写的。为了证明互底是不是这个文件是登录对话框,我们把它删除了,果然再打开程序不出登录了。
5.png

4.先用dnspy打开看一下,没混淆,还挺清楚。但是查不到谁调用的这个EXE。
6.png

5.我们在文件夹中继续看,发现一个文件叫

Leadsoft.LoginControl.dll这个文件从名字上可以看出来是管登录的。看这个命名,以.分段的,直接判断为net写的dll,直接托到dnspy里,果然是net的dll。
7.png

画红框的,很象是调用登录对话框和初始化的函数,但是登录对话框又是EXE?不清楚咋回事目前,先断下来,试试看。上述函数设断点,附加到CAD调试。

在CAD里点登录,啥也没断到,但是登录界面也没出来。很怪。
6.由于启动时也要调用登录界面所以我们启动时试一下。关掉软件,再启动。在CAD启动初始化时,赶紧附加到CAD调试。果然断下来了,
断到InitializeComponent()上。看一上调用堆栈如下:
8.png

CAD的dll调用了Leadsoft.Dhub.Plugin2018.dll中的login函数,这个函数又调用了Leadsoft.LoginControl.dll中的函数,再调用登录对话框。去根上看一下。进入Leadsoft.Dhub.Plugin2018.dll中的login函数中。函数开头设一个断点,然后让程序跑起来。

7.关掉程序自动启动的登录界面,手点一下登录,果然断到Leadsoft.Dhub.Plugin2018.dll中的login函数的开头,单步执行一下,跳到这里:
9.png

什么叫beforelogin?登录之前?那上面的afterlogin呢?登录之后?由于函数太长了,我就不贴了,分析一下大概意思是,先判断一下是否自动登录,如果是,在注册表中找注册信息,找到了就调用afterlogin,找不到就调用beforelogin,然后再弹出登录界面。去afterlogin和beforelogin里去看一下,就是对界面的控制。很多菜单的enable。
8.即然这样,简单粗爆一点,直接把Leadsoft.Dhub.Plugin2018.dll中的login函数改了,无条件执行afterlogin。直接右键-编辑方法,改成如下这样:


10.png

9.重启软件,发现如下变化,提示在线,开通会员也亮了,但是点啥都没有反应。
11.png

10.看一CAD的命令行里,

命令: _borderinsert

命令: D_Login

命令: _Symb1ins

命令: D_Login

无论执行啥命令,都调用D_Login命令,这个就是登录命令。我们找到D_Login命令的定义,断下,随便找一个命令执行一下,断下后,看调用堆栈。
12.png

都是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最大,我们看一下他里面有什么导出函数。
13.png

看到函数6感觉很可疑,判断是否有狗?这也太明显了吧,下断运行,一点返应没有,失算了。

13.这时符号表中看到LdSWObj201301PWF.dll下面有一个函数和他名字非常接近。LdSWParSet201301PWF.dll
14.png

我们也看一下他的导出函数
15.png

虽然这个DLL比较小,但是还真有三个可疑的函数。函数名字面理解,是否有权利运行程序?全断下来。运行一个命令,断到

HasRunProgramRight201301PWF_LeadSoft_SW201301函数。函数很简单,如下:
16.png

单步到返回:
17.png

很明显,判断eax是1还是0,是0就跳结尾了,啥也没执行。那我们就让他返回1。HasRunProgramRight201301PWF_LeadSoft_SW201301按下图修改。再运行一下命令,成功了,保存。
18.png

14.这就算完了?为了保险起见,进行修改后的程序,把每个命令都执行一下。果然发现两个功能不能用。

(1)智能识图,点开后弹窗
19.png 20.png

(2)接线生成,点击还是调用D_login命令,界面上没有任何返应。
21.png

15.再用x64dbg附加,先处理没反应的接线生成功能。附加后还用原来的断点,我们点一下接线生成,断到LdSWObj201301PWF.dll中的hasdog函数上,CTRL+F9跟到返回。
22.png

返回后判断eax是否为1。那就直接让eax=1。修改方法同前,改后运行命令成功。
16.下断user32中messagebox,运行智能识图。断下后,单步到弹出对消息框,确定,再单步跟回到本程序到的文件中。位于ldassistbar.arx中,返回位置如下:


23.png

这个函数调用完messagebox后,后面的代码还是全执行了,所以这个函数是专们传递信息的,不涉及真正的执行程序功能代码。把他执行完,返回到下面:
24.png

返回后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.请教各位大神
CAD执行命令,有没有什么必调用的函数,可以用于调试执行命令后啥提示没有问题?



免费评分

参与人数 4威望 +1 吾爱币 +23 热心值 +4 收起 理由
Me祝 + 1 + 1 谢谢@Thanks!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ccckxxx + 1 + 1 我很赞同!
x88tv + 1 + 1 热心回复!

查看全部评分

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

Gaho2002 发表于 2021-6-19 22:25
这是C语言吗
 楼主| koalakoala 发表于 2021-6-22 00:13
GT0814 发表于 2022-11-12 12:26
aThe_most_roman 发表于 2022-11-21 14:41
这是C语言么
 楼主| koalakoala 发表于 2023-5-6 11:48
GT0814 发表于 2022-11-12 12:26
这个插件要怎么判断有没有壳呢

没有壳,用查壳软件查一下就知道了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-3-29 17:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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