一、背景

因为APP的日志都是经过加密处理了,所以每次如果要分析日志的话,得先将加密的日志文件进行解密。

而解密的脚本是用python写的,每次要解密一个文件 都需要在cmd目录下敲python目录来进行解密,很麻烦。

如下所示:


那么我要解密这个日志文件的话,我需要运行python解密脚本来进行解密,我将解密的python脚本也放在这个目录下,如下所示:


那么我运行的命令,如下所示:

Microsoft Windows [Version 10.0.10240]

(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\000>D:

D:\>cd log

D:\log>python decode_encrypted_log_file.py APP_20181123.xlog


执行完毕之后,会生成一个解密后的文件,如下所示:


每次这么执行很麻烦,能不能有什么办法可以把一个Python脚本加入Windows右键菜单呢?下面我们就来实践一下。

二、实现将一个Python脚本加入Windows右键菜单

2.1 先写一个批处理文件logdecode.bat来执行上面的命令

上面我们每次要执行python解密脚本的时候,都需要进入到该脚本的路径,然后执行下面的命令

python decode_encrypted_log_file.py APP_20181123.xlog

第一个参数是 python脚本的路径

第二个参数是要解密的日志文件的路径

现在我们将这个命令封装成一个bat文件,这样我们以后就可以直接运行bat文件即可,不需要每次都敲命令了。

比如我们封装为 logdecode.bat 文件,放在C:\Windows目录下,内容如下


logdecode.bat 文件源代码如下:

c:\Python27\python.exe D:\log\decode_encrypted_log_file.py %*

上面的python.exe文件在c:\Python27目录下,如下所示


如果你的python文件不是这个目录,改为你自己的python安装目录。

2.2 再写一个注册表文件 logdecode.reg

1、注册表文件 logdecode.reg 内容如下,把这个批处理文件放到C:\Windows下面,便于调用。


logdecode.reg 文件源代码如下所示:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\logdecode\command]

@="logdecode.bat \"%1\""

上面代码中的logdecode.bat 就是之前我们写好的bat文件,shell\logdecode\ 表示我们的右键菜单项名字就是logdecode

2、然后双击该注册表文件,即可导入注册表。


点击 【是(Y)】,即可导入成功!


导入注册表成功之后,查询下注册表内容,如下所示:


三、 测试鼠标右键logdecode菜单

3.1 选择文件,点击鼠标右键,弹出logdecode菜单

导入注册表,选择文件,点击鼠标右键,弹出logdecode菜单,如下所示:


3.2 测试是否可以界面成功?

点击上图所示的 鼠标右键菜单栏【logdecode】即可解密,如下所示:


可以看到 执行python命令的时候,python脚本路径以及要解密的日志文件路径 都是绝对路径,所以不管这个要解密的文件在哪里,我们都可以选择文件,然后右键选择菜单栏【logdecode】即可解密。

执行完毕之后,解密文件自动生成,大功告成!