feat(gui): support scripts in UI

This commit is contained in:
Skylot
2022-07-16 20:41:23 +01:00
parent e5e64365fc
commit 18fe9f305c
39 changed files with 752 additions and 49 deletions
@@ -0,0 +1,5 @@
val jadx = getJadxInstance()
jadx.afterLoad {
log.info { "Hello from jadx script!" }
}
@@ -14,6 +14,7 @@ menu.text_search=Textsuche
menu.class_search=Klassen-Suche
menu.comment_search=Kommentar suchen
menu.tools=Tools
#menu.plugins=Plugins
#menu.decompile_all=Decompile all classes
menu.deobfuscation=Deobfuskierung
menu.log=Log-Anzeige
@@ -33,6 +34,7 @@ file.live_reload=Live nachladen
file.live_reload_desc=Dateien bei Änderungen autom. neuladen
file.export_mappings_as=Zuordnungen exportieren als…
file.save_all=Alles speichern
#file.save=Save
file.export_gradle=Als Gradle-Projekt speichern
file.save_all_msg=Verzeichnis für das Speichern dekompilierter Ressourcen auswählen
file.exit=Beenden
@@ -41,6 +43,9 @@ file.exit=Beenden
#start_page.start=Start
#start_page.recent=Recent projects
#tree.inputs_title=Inputs
#tree.input_files=Files
#tree.input_scripts=Scripts
tree.sources_title=Quelltexte
tree.resources_title=Ressourcen
tree.loading=Laden…
@@ -234,6 +239,10 @@ popup.search_comment=Kommentar suchen
popup.rename=Umbennen
popup.search=Suche "%s"
popup.search_global=Globale Suche "%s"
#popup.remove=Remove
#popup.add_files=Add files
#popup.add_scripts=Add scripts
#popup.new_script=New script
exclude_dialog.title=Paketauswahl
exclude_dialog.ok=OK
@@ -14,6 +14,7 @@ menu.text_search=Text search
menu.class_search=Class search
menu.comment_search=Comment searchF
menu.tools=Tools
menu.plugins=Plugins
menu.decompile_all=Decompile all classes
menu.deobfuscation=Deobfuscation
menu.log=Log Viewer
@@ -33,6 +34,7 @@ file.live_reload=Live reload
file.live_reload_desc=Auto reload files on changes
file.export_mappings_as=Export mappings as...
file.save_all=Save all
file.save=Save
file.export_gradle=Save as gradle project
file.save_all_msg=Select directory for save decompiled sources
file.exit=Exit
@@ -41,6 +43,9 @@ start_page.title=Start page
start_page.start=Start
start_page.recent=Recent projects
tree.inputs_title=Inputs
tree.input_files=Files
tree.input_scripts=Scripts
tree.sources_title=Source code
tree.resources_title=Resources
tree.loading=Loading...
@@ -234,6 +239,10 @@ popup.search_comment=Search comments
popup.rename=Rename
popup.search=Search "%s"
popup.search_global=Global Search "%s"
popup.remove=Remove
popup.add_files=Add files
popup.add_scripts=Add scripts
popup.new_script=New script
exclude_dialog.title=Package Selector
exclude_dialog.ok=OK
@@ -14,6 +14,7 @@ menu.text_search=Buscar texto
menu.class_search=Buscar clase
#menu.comment_search=Comment search
menu.tools=Herramientas
#menu.plugins=Plugins
#menu.decompile_all=Decompile all classes
menu.deobfuscation=Desofuscación
menu.log=Visor log
@@ -33,6 +34,7 @@ file.open_title=Abrir archivo
#file.live_reload_desc=Auto reload files on changes
#file.export_mappings_as=
file.save_all=Guardar todo
#file.save=Save
file.export_gradle=Guardar como proyecto Gradle
file.save_all_msg=Seleccionar carpeta para guardar fuentes descompiladas
file.exit=Salir
@@ -41,6 +43,9 @@ file.exit=Salir
#start_page.start=Start
#start_page.recent=Recent projects
#tree.inputs_title=Inputs
#tree.input_files=Files
#tree.input_scripts=Scripts
tree.sources_title=Código fuente
tree.resources_title=Recursos
tree.loading=Cargando...
@@ -234,6 +239,10 @@ popup.xposed=Copiar como fragmento de xposed
popup.rename=Nimeta ümber
#popup.search=
#popup.search_global=
#popup.remove=Remove
#popup.add_files=Add files
#popup.add_scripts=Add scripts
#popup.new_script=New script
#exclude_dialog.title=Package Selector
#exclude_dialog.ok=OK
@@ -14,6 +14,7 @@ menu.text_search=텍스트 검색
menu.class_search=클래스 검색
menu.comment_search=주석 검색
menu.tools=도구
#menu.plugins=Plugins
#menu.decompile_all=Decompile all classes
menu.deobfuscation=난독화 해제
menu.log=로그 뷰어
@@ -33,6 +34,7 @@ file.live_reload=라이브 로드
file.live_reload_desc=파일 내용 변경 시 자동으로 다시 로드
file.export_mappings_as=다른 이름으로 매핑 내보내기...
file.save_all=모두 저장
#file.save=Save
file.export_gradle=Gradle 프로젝트로 저장
file.save_all_msg=디컴파일된 소스를 저장할 디렉토리 선택
file.exit=나가기
@@ -41,6 +43,9 @@ start_page.title=페이지 시작
start_page.start=시작
start_page.recent=최근 프로젝트
#tree.inputs_title=Inputs
#tree.input_files=Files
#tree.input_scripts=Scripts
tree.sources_title=소스코드
tree.resources_title=리소스
tree.loading=로딩중...
@@ -234,6 +239,10 @@ popup.search_comment=주석 검색
popup.rename=이름 바꾸기
popup.search="%s" 검색
popup.search_global="%s" 전역 검색
#popup.remove=Remove
#popup.add_files=Add files
#popup.add_scripts=Add scripts
#popup.new_script=New script
exclude_dialog.title=패키지 선택기
exclude_dialog.ok=확인
@@ -14,6 +14,7 @@ menu.text_search=Buscar por texto
menu.class_search=Buscar por classe
menu.comment_search=Busca por comentário
menu.tools=Ferramentas
#menu.plugins=Plugins
#menu.decompile_all=Decompile all classes
menu.deobfuscation=Desofuscar
menu.log=Visualizador de log
@@ -33,6 +34,7 @@ file.live_reload=Recarregar em tempo real
file.live_reload_desc=Recarregar arquivos automaticamente ao serem alterados
file.export_mappings_as=Exportar mappings como...
file.save_all=Salvar tudo
#file.save=Save
file.export_gradle=Salvar como um projeto gradle
file.save_all_msg=Selecionar diretório para salvar arquivos descompilados
file.exit=Sair
@@ -41,6 +43,9 @@ start_page.title=Página inicial
start_page.start=Começar
start_page.recent=Projetos recentes
#tree.inputs_title=Inputs
#tree.input_files=Files
#tree.input_scripts=Scripts
tree.sources_title=Código fonte
tree.resources_title=Recursos
tree.loading=Carregando...
@@ -234,6 +239,10 @@ popup.search_comment=Buscar comentários
popup.rename=Renomear
popup.search=Buscar "%s"
popup.search_global=Busca global "%s"
#popup.remove=Remove
#popup.add_files=Add files
#popup.add_scripts=Add scripts
#popup.new_script=New script
exclude_dialog.title=Selecionar pacote
exclude_dialog.ok=OK
@@ -14,6 +14,7 @@ menu.text_search=文本搜索
menu.class_search=类名搜索
menu.comment_search=注释搜索
menu.tools=工具
#menu.plugins=Plugins
menu.decompile_all=反编译所有类
menu.deobfuscation=反混淆
menu.log=日志查看器
@@ -33,6 +34,7 @@ file.live_reload=实时重加载
file.live_reload_desc=文件变动时自动重载
file.export_mappings_as=导出映射为…
file.save_all=全部保存
#file.save=Save
file.export_gradle=另存为 Gradle 项目
file.save_all_msg=请选择保存反编译资源的目录
file.exit=退出
@@ -41,6 +43,9 @@ start_page.title=开始页面
start_page.start=开始
start_page.recent=最近项目
#tree.inputs_title=Inputs
#tree.input_files=Files
#tree.input_scripts=Scripts
tree.sources_title=源代码
tree.resources_title=资源文件
tree.loading=加载中…
@@ -234,6 +239,10 @@ popup.search_comment=搜索注释
popup.rename=重命名
popup.search=搜索 “%s”
popup.search_global=全局搜索 “%s”
#popup.remove=Remove
#popup.add_files=Add files
#popup.add_scripts=Add scripts
#popup.new_script=New script
exclude_dialog.title=选择要排除的包
exclude_dialog.ok=确定
@@ -14,6 +14,7 @@ menu.text_search=文字搜尋
menu.class_search=類別搜尋
menu.comment_search=註解搜尋
menu.tools=工具
#menu.plugins=Plugins
#menu.decompile_all=Decompile all classes
menu.deobfuscation=去模糊化
menu.log=日誌檢視器
@@ -33,6 +34,7 @@ file.live_reload=實時重新載入
file.live_reload_desc=更動後自動重新載入檔案
file.export_mappings_as=匯出對應為...
file.save_all=全部儲存
#file.save=Save
file.export_gradle=另存為 gradle 專案
file.save_all_msg=選擇儲存反編譯原始碼的路徑
file.exit=離開
@@ -41,6 +43,9 @@ start_page.title=開始頁面
start_page.start=開始
start_page.recent=近期專案
#tree.inputs_title=Inputs
#tree.input_files=Files
#tree.input_scripts=Scripts
tree.sources_title=原始碼
tree.resources_title=資源
tree.loading=載入中...
@@ -234,6 +239,10 @@ popup.search_comment=搜尋註解
popup.rename=重新命名
popup.search=搜尋 "%s"
popup.search_global=全域搜尋 "%s"
#popup.remove=Remove
#popup.add_files=Add files
#popup.add_scripts=Add scripts
#popup.new_script=New script
exclude_dialog.title=套件選擇
exclude_dialog.ok=OK
@@ -0,0 +1,6 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="kotlin_script">
<path id="Combined Shape" fill-rule="evenodd" clip-rule="evenodd" d="M13 1H3C3 1 4 2.5 4 4.5C4 5.5 3.5 6.75 3 8C2.5 9.25 2 10.5 2 11.5C2 13.5 3 15 3 15H8V8H13C13.5 6.75 14 5.5 14 4.5C14 2.5 13 1 13 1Z" fill="#9AA7B0" fill-opacity="0.8"/>
<path id="Vector" d="M16 16H9V9H16L12.5 12.5L16 16Z" fill="#B99BF8"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 439 B

@@ -0,0 +1,7 @@
<!-- Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd">
<polygon fill="#389FD6" points="10 15 15 15 15 10 10 10"/>
<path fill="#6E6E6E" d="M14,9 L9,9 L9,13 L2,13 L2,5 L2,3 L6.60006714,3 L7.75640322,5 L14,5 L14,9 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 470 B

@@ -0,0 +1,9 @@
<!-- Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -->
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd" transform="translate(1 3)">
<path fill="#6E6E6E" d="M14,8 L14,10 L10,10 L0,10 L0,2 L0,0 L5.39876049,0 L6.7558671,2 L14,2 L14,10 L10,10 L6,10 L6,8 L10,8 L10,4 L14,4 L14,8 Z"/>
<rect width="3" height="3" x="11" y="5" fill="#389FD6"/>
<rect width="3" height="3" x="11" y="9" fill="#389FD6"/>
<rect width="3" height="3" x="7" y="9" fill="#389FD6"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 661 B

@@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd">
<path fill="#9AA7B0" d="M10,16 L16,16 L16,9 L10,9 L10,16 Z M11,15 L15.001,15 L15.001,10 L11,10 L11,15 Z"/>
<polygon fill="#9AA7B0" points="12 12.001 14 12.001 14 11 12 11"/>
<polygon fill="#9AA7B0" points="12 14.001 14 14.001 14 13 12 13"/>
<path fill="#6E6E6E" fill-opacity=".8" d="M7.9846,4 L6.6966,2.711 C6.3046,2.32 5.5326,2 4.9786,2 L1.0506,2 C1.0226,2 1.0006,2.023 1.0006,2.051 L1.0006,13 L9,13 L9,7.99092055 L15.0006,7.99092055 L15.0006,4 L7.9846,4 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 613 B