一、背景
以下工具下载地址:down.52pojie.cn
最近在使用论坛的一款软件,修改文件内容,效果不错,但是这个软件不能实现批量操作文件,每次修改文件需要一个一个的填写文件路径,然后再点击确定让程序自己运行,效率还是比较低的,所以,我决定尝试着把它改造一下。
二、查壳
这里我使用了两种查壳工具:
- Peid
- 使用这个工具查壳以后,显示的是无壳,但是凭借经验,我还是觉得有必要再使用其他工具检测一下
- ExeInfoPe
- 使用ExeInfoPe,发现软件的确加壳了,使用的是Eingma打包工具自带的壳,找到了壳,我就准备落实一下它。
三、脱壳
eingma是一个打包工具,可以将多个依赖全部打包到一个单一的exe文件中
1、内存Dump
这里我使用的Dump工具:
- MegaDumper
- 首先,运行这款软件,完整操作一遍它的功能,然后打开
MegaDumper
,找到我们这款软件的进程,在内存中把这个exe
程序dump
到指定的目录中。
2、修复软件
这里我使用的修复工具:
- UniversalFixer
- dump出来的程序无法直接反编译,打开
UniversalFixer
,然后将dump出来的目录中的exe拖入软件,点击Fix Assemly
修复程序集即可。
四、反编译
这里使用的反编译工具:
- de4net
- dnspy
反编译后的代码是被混淆过的,但是不影响断点调试,直接修改功能保存即可:
五、注意
如果dnSpy
运行软件显示缺少某个dll
依赖,需要自己去手动去网上下载依赖,然后把它放到项目目录中,在dnSpy
中手动添加依赖即可。