一段时间没更新文章了,最近自己在做开发一个工具(基本框架应该算是完成了)。可能这是2019年最后一篇文章了吧,除非这个月能把我手上的项目完成。
今天说的是一款excel插件的破解,公司上班嘛,excel办公软件是必备的啦,其实同类软件有很多,比如:Kutools、方方格子、E灵等等,其中E灵应该是有这样的功能,但今天不讲E灵,说一下小蓝条Excel插件(支持excel、word、PPT),其中最实用的就是excel图片批量导入(模糊匹配)的功能。
0x1 破解前的效果(安装我就不写了)
上面的功能,我任意点一个都是这个提示,但我没找到小蓝条主按钮,官网也没登录的地方。你这样我也很无奈啊~~~ 撸它!
0x2 破解过程
1、用到的工具
DetectItEasy V1.0
de4dot
Net Reflector 8.4
2、环境
windows 7
office 2013
3、破解过程
a) 过程我只记录Excel的插件破解过程(其他都是同理),先将ExcelMaster.dll拖入de4dot处理一下,然后丢到Net Reflector看代码。(一定要吐槽一下作者定义的这些类名,可能只有作者能看懂吧)
b) 找关键点,可以通过提示消息来找("请先双击小蓝条主按钮登录后方可使用")。
如下图,好几十个关键点,随便找一处看代码的执行流程,看下哪里才是破解的关键点。
查看到的事件代码如下:
Private Sub Button2_Click(ByVal sender As Object, ByVal e As RibbonControlEventArgs) If MyProject.Computer.Keyboard.CtrlKeyDown Then '如果是按下ctrl键点击了按钮,那么打开下面的网页(功能的使用方法) Interaction.Shell("explorer.exe ""http://xiaolantiao.com/demo/excel-demo.html?pic=excel01a""", AppWinStyle.MaximizedFocus, False, -1) ElseIf (Dims.app.Workbooks.Count <> 0) Then '如果有打开工作薄 If (Operators.CompareString(Module01.RegRead2("MiMi"), "andysky", False) > 0) Then '如果注册表中的HKEY_CURRENT_USER\Software\Microsoft\OfficeMiMi的MiMi下的值是否等于andysky Dims.msg("您未注册,禁止使用") '如果不等于则提示未注册 ElseIf NewModel.Ins Then '如果Ins返回为真 Module01.W1b '显示功能窗体 Else Dims.msg("请先双击小蓝条主按钮登录后方可使用") End If End IfEnd Sub从上面的代码看来,前面的条件都是满足的,就是 ElseIf NewModel.Ins Then 这句返回没通过。
跟进去NewModel.Ins这个函数看下,看下是什么流程。
Public Shared Function Ins() As Boolean
Return ((MyProject.Computer.FileSystem.GetFileInfo((Module01.RegRead3 & "\jyconfig.exe")).Length = &H112000) And (Process.GetProcessesByName("jyconfig").Length > 0))
'这就是关键代码了
'这里判断了jyconfig.exe的大小,还判断了是否有jyconfig进程在运行。
如果jyconfig.exe大小=&H112000并且jyconfig进程在运行,那么就返回TRUE
End Function
4、我的破解思路是:
Return ((MyProject.Computer.FileSystem.GetFileInfo((Module01.RegRead3 & "\jyconfig.exe")).Length = &H112000) And (Process.GetProcessesByName("jyconfig").Length > 0))
修改成
return TRUE
这样改就没有条件了,只要调用这个函数,就一定是返回TRUE,就能实现破解。
怎么改?看下面的步骤,下面就是原来的代码。
改成这样就完成破解了,然后保存替换一下原文件就能使用所有功能了。
0x3 破解后的效果