Skip to main content
 首页 » 原创破解

Excel插件破解教程

2019年12月10日4242

logo.png

一段时间没更新文章了,最近自己在做开发一个工具(基本框架应该算是完成了)。可能这是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看代码。(一定要吐槽一下作者定义的这些类名,可能只有作者能看懂吧)

4.png


    b)    找关键点,可以通过提示消息来找("请先双击小蓝条主按钮登录后方可使用")。

如下图,好几十个关键点,随便找一处看代码的执行流程,看下哪里才是破解的关键点。

5.png


6.png

查看到的事件代码如下:

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这个函数看下,看下是什么流程。

7.png

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,就能实现破解。


怎么改?看下面的步骤,下面就是原来的代码。

8.png

改成这样就完成破解了,然后保存替换一下原文件就能使用所有功能了。

9.png


0x3    破解后的效果


评论列表2条评论
坤的
坤的回复 文章蛮不错的,写的好详细,要是把文件附上就更好了!
admin
admin回复 伟大的毛主席曾说过:自己动手丰衣足食!
发表评论
新浪微博
微信