用到的工具
DIE
dnSpy
x64dbgde4dot
下面是从C:\ProgramData\Autodesk\Revit\Addins获得的addin文件,
看一下加载哪个dll
image.png (42.95 KB, 下载次数: 3)
下载附件
2020-5-20 19:01 上传
先查一下壳,看看自己是否有能力啃得动,
image.png (81.64 KB, 下载次数: 1)
下载附件
2020-5-20 19:02 上传
这个壳就没意思了直接扔进去脱掉
image.png (76.44 KB, 下载次数: 1)
下载附件
2020-5-20 19:02 上传
将原dll备份,然后将脱壳后的改为原来的名字,打开Revit看看,发现打开后是灰色显示的。点击登录弹出登录窗口。
image.png (58.27 KB, 下载次数: 1)
下载附件
2020-5-20 19:03 上传
开始正式分析(装B):
1、打开后直接灰色显示,有很大可能在OnStartUp()中验证了授权,
2、使得图标灰色显示的,如果我是开发者会在RibbonPanel后设置item的Enabled属性
动手,111把脱壳后的dll拖进dnSpy,先搜索onstartup
image.png (116.6 KB, 下载次数: 7)
下载附件
2020-5-20 19:04 上传
进入autoLogin,发现条件里的方法点击进不去,然后查看一下引用,发现有些在安装目录找不到,这时候需要everything搜索神器,不出意外的找到了。然后脱壳载入
image.png (54.46 KB, 下载次数: 1)
下载附件
2020-5-20 19:05 上传
image.png (59.47 KB, 下载次数: 1)
下载附件
2020-5-20 19:05 上传
然后再回到autologin里,点击一个方法后到达下图位置。看到那authorization,不出意外的话这个dll,就是授权模块。
image.png (176.1 KB, 下载次数: 1)
下载附件
2020-5-20 19:05 上传
image.png (87.24 KB, 下载次数: 1)
下载附件
2020-5-20 19:06 上传
发现,有检测授权文件的,有调用dll的,授权文件模拟暂时放弃,点击dll哪个看看
image.png (70.87 KB, 下载次数: 1)
下载附件
2020-5-20 19:06 上传
image.png (25.24 KB, 下载次数: 1)
下载附件
2020-5-20 19:06 上传
这里看一下就是调用其他语言写的dll,用everything搜索一下,找到他然后用x64dbg打开看看,
image.png (130.16 KB, 下载次数: 2)
下载附件
2020-5-20 19:07 上传
看来离成功不远了,返回到DoValidateLicense接着看,
image.png (60.91 KB, 下载次数: 1)
下载附件
2020-5-20 19:07 上传
image.png (27.97 KB, 下载次数: 1)
下载附件
2020-5-20 19:07 上传
很明显这里调用了上面找到哪个dll的方法,将这个方法改为返回1,使得if成功运行,然后进入if里的看看。
image.png (50.95 KB, 下载次数: 1)
下载附件
2020-5-20 19:08 上传
image.png (77.52 KB, 下载次数: 1)
下载附件
2020-5-20 19:08 上传
image.png (112.34 KB, 下载次数: 1)
下载附件
2020-5-20 19:08 上传
image.png (125.36 KB, 下载次数: 1)
下载附件
2020-5-20 19:08 上传
粗暴点,gin返回0,erro不处理,其他全返回1,然后保存测试。打开revit发现依然灰显,然后点击登录。图标显示正常,然后测试一下功能看看。
image.png (27.07 KB, 下载次数: 2)
下载附件
2020-5-20 19:09 上传
保存一个工程,导入一张图纸,翻个模。
image.png (83.69 KB, 下载次数: 2)
下载附件
2020-5-20 19:09 上传
到这里基本可以结束了,对于加载后直接量显,思路和方式和上面一样,无非就是autologin里再分析一下。
总结:虽然破解不太完美但是,思路已经传达了,而且证明思路还行。要有耐心。了解一点revit二次开的,很有必要。大家加油吧。
过程仅是传达一种思路,不可用用于非法破解,成果不可用于商业用途,一切由于非法使用而导致的侵权,由使用者承担。