开启调试总体流程
- 卸载服务
- 修改服务
- 安装并启动服务
- 检查端口
卸载服务
net stop Tomcat8
# 或者 直接杀死进程
service.bat remove
@echo 【卸载Tomcat】
cd %installPath%\Tomcat8\bin
taskkill /F /IM tomcat8.exe /T
taskkill /F /IM tomcat8s.exe /T
call service.bat remove
修改服务
修改 service.bat 找到 --JvmOptions 增加 jvm 调试配置端口信息
--JvmOptions "-Dcatalina.home=%CATALINA_HOME%;-Dcatalina.base=%CATALINA_BASE%;-D%ENDORSED_PROP%=%CATALINA_HOME%\endorsed;-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties;-Dfile.encoding=UTF-8;-XX:PermSize=512M;-XX:MaxPermSize=1024M;%JvmArgs%" ^
修改成如下
--JvmOptions "-Dcatalina.home=%CATALINA_HOME%;-Dcatalina.base=%CATALINA_BASE%;-D%ENDORSED_PROP%=%CATALINA_HOME%\endorsed;-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties;-Dfile.encoding=UTF-8;-XX:PermSize=512M;-XX:MaxPermSize=1024M;-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005;%JvmArgs%" ^
安装并启动服务
service.bat install
sc qc tomcat8
net start tomcat8
netstat -ano | findstr "5005"


就可以开始 debug 了
mysql 连接信息解密
使用 Tools 目录下的 encrypt-gui.jar 解密即可得到帐号密码 root:kq_123654

成功登录MySQL

系统默认帐号
admin:123654
需要两次md5解密 c2106dc9520c4edf378fd09732d2f87a1940062b

第一次解密

第二次解密

hook激活流程
仅测试了 1.6.x 版本,最新版2.0.x 没有测试
未hook之前


最开始是Hook了启动时的授权校验,但是发现登录还有校验



手动修改 state 值成功绕过校验进入后台

hook之后

随便输入mac与key都可激活

如何hook?
选择hook LoginController 下的 systemAuthorization.do 方法里的int state = Utils.validSystemState(); 部分

下载 fuck-efacego-1.0-SNAPSHOT.jar 然后复制到 应用 lib 目录下,然后修改 catalina.bat 如下
:execCmd
rem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
set "CATALINA_OPTS=%CATALINA_OPTS% -javaagent:C:\EFaceGo\Tomcat8\webapps\manage\WEB-INF\lib\fuck-efacego-1.0-SNAPSHOT.jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8"
然后手动在命令行启动 catalina.bat run
出现 MyAgent loaded! 且没有报错就代表hook成功了

最终完美搞定验证!
bypass jar文件下载 fuck-efacego-1.0-SNAPSHOT
文件SHA256: 1783bb952355f5a8933f869328bfb0de2cc706ced4d9d10c5e906376a449078d
下载完记得核对文件的hash值!


