ps:本次逆向分析源于一位个人朋友的求助。对方日常工作环境中安装了一款企业级EDR软件,因该软件与部分业务软件存在兼容性问题,希望执行卸载。
信息收集
运行软件卸载程序,弹框需输入管理员口令

OpenArk中查看卸载Edr相关进程。AisEsmAgentUninstall.exe 为卸载执行体,AisEsmVerify.exe为卸载前的口令校验器。

查看软件程序目录相关文件,发现几个txt文件,其中verify_uninstall.txt中出现了以下内容

该文本分成3段,以空格分开,后两段分别为32位、64位HEX。因此,基本可以确认该文件就是EDR用于离线卸载验证的关键文件。
程序逆向
打开IDA,搜索verify_uninstall.txt字符串,通过交叉引用找到sub_14001C4C0,经初步分析判定为本地口令校验函数。
解析verify_*.txt文件

验证逻辑

理清楚验证算法逻辑后,编写相关校验脚本。由于程序并没有签名校验verify_uninstall.txt,可以自定义密码生成一组新的token进行替换

替换过程中发现目标文件夹没有写权限

管理员权限打开OpenArk,进入内核模式,在系统回调->Minifilters中找到difile,右键选择禁用过滤器即可正常修改

修改完成后,双击卸载程序,输入密码即可正常卸载

1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa b2e79d127e7136034f9448de715f5cff8350093c9568f458d715d9475d7040ff
夜雨聆风