60 lines
2.6 KiB
Batchfile
60 lines
2.6 KiB
Batchfile
@echo off
|
|
:: 设置当前目录变量
|
|
set "CURRENT_DIR=%~dp0"
|
|
|
|
:: 1. 清理旧的输出文件
|
|
del "%CURRENT_DIR%\custom_spider.jar"
|
|
|
|
:: 2. 反编译主程序的 DEX (使用 baksmali)
|
|
echo Decompiling Main Classes...
|
|
java -jar "%CURRENT_DIR%\3rd\baksmali-2.5.2.jar" d "%CURRENT_DIR%\..\app\build\intermediates\dex\release\minifyReleaseWithR8\classes.dex" -o "%CURRENT_DIR%\Smali_classes"
|
|
|
|
:: 注意:原脚本中运行 XBPQ.jar 的那行已删除,因为 XBPQ 的 smali 文件应由你在第8步手动准备好
|
|
|
|
:: 3. 清理 spider.jar 的工作目录
|
|
rd /s/q "%CURRENT_DIR%\spider.jar\smali\com\github\catvod\spider"
|
|
rd /s/q "%CURRENT_DIR%\spider.jar\smali\com\github\catvod\parser"
|
|
rd /s/q "%CURRENT_DIR%\spider.jar\smali\com\github\catvod\js"
|
|
|
|
:: 4. 创建目录结构
|
|
if not exist "%CURRENT_DIR%\spider.jar\smali\com\github\catvod\" md "%CURRENT_DIR%\spider.jar\smali\com\github\catvod\"
|
|
|
|
:: 5. 移动主程序的 smali 文件到工作目录
|
|
move "%CURRENT_DIR%\Smali_classes\com\github\catvod\spider" "%CURRENT_DIR%\spider.jar\smali\com\github\catvod\"
|
|
move "%CURRENT_DIR%\Smali_classes\com\github\catvod\parser" "%CURRENT_DIR%\spider.jar\smali\com\github\catvod\"
|
|
move "%CURRENT_DIR%\Smali_classes\com\github\catvod\js" "%CURRENT_DIR%\spider.jar\smali\com\github\catvod\"
|
|
|
|
:: ==========================================
|
|
:: 6. 缝合 XBPQ (这里是新增的核心逻辑)
|
|
:: ==========================================
|
|
echo Injecting XBPQ...
|
|
|
|
:: 复制 spider 目录 (使用 /y 默认覆盖,/e 包含子目录和空目录)
|
|
xcopy /s /y "%CURRENT_DIR%\3rd\xbpq\spider\*" "%CURRENT_DIR%\spider.jar\smali\com\github\catvod\spider\"
|
|
|
|
:: 检查 parser 目录是否存在,不存在则创建
|
|
if not exist "%CURRENT_DIR%\spider.jar\smali\com\github\catvod\parser\" md "%CURRENT_DIR%\spider.jar\smali\com\github\catvod\parser\"
|
|
|
|
:: 复制 parser 目录
|
|
xcopy /s /y "%CURRENT_DIR%\3rd\xbpq\parser\*" "%CURRENT_DIR%\spider.jar\smali\com\github\catvod\parser\"
|
|
:: ==========================================
|
|
|
|
|
|
:: 7. 回编译打包 (Apktool)
|
|
echo Rebuilding Jar...
|
|
java -jar "%CURRENT_DIR%\3rd\apktool_2.4.1.jar" b "%CURRENT_DIR%\spider.jar" -c
|
|
|
|
:: 8. 移动并重命名生成的 jar
|
|
move "%CURRENT_DIR%\spider.jar\dist\dex.jar" "%CURRENT_DIR%\custom_spider.jar"
|
|
|
|
:: 9. 生成 MD5 校验码
|
|
certUtil -hashfile "%CURRENT_DIR%\custom_spider.jar" MD5 | find /i /v "md5" | find /i /v "certutil" > "%CURRENT_DIR%\custom_spider.jar.md5"
|
|
|
|
:: 10. 清理临时文件
|
|
rd /s/q "%CURRENT_DIR%\spider.jar\build"
|
|
rd /s/q "%CURRENT_DIR%\spider.jar\smali"
|
|
rd /s/q "%CURRENT_DIR%\spider.jar\dist"
|
|
rd /s/q "%CURRENT_DIR%\Smali_classes"
|
|
|
|
echo Done.
|
|
pause |