阶段四:Spine 3.8.99 编辑器里挂上自建视图面板
目标:在 Spine 编辑器窗口内部加一个自己的视图面板(按钮 + 文字显示), 点击读取场景对象,并像原生面板一样出现在 Views 菜单、可停靠可折叠。 本轮打通: 1. 编辑器在我们自己的进程里完整启动 - 类加载器必须是 URLClassLoader 本身(自检要求) - Editor.main 必须在 AWT EDT 上调用 - jvm.cfg 第 21 行要以两个空格结尾 + -DSpineJava - Editor.D:I 版本号、fonts/、/tzax 资源、Java8 版 launcher.Launcher 替身 2. 3.8.99 全量解密 → 可读源码 - 字符串 17251/17461(伪造同名调用帧对齐 key) - 混淆动态派发还原 53871 处(调引导方法取 MemberName) 3. 自建视图 - agent 在内存里给 us 枚举加 spineView 常量(不改磁盘,避开完整性自检) - 面板 Actor 由外部反射填进 us.spineView.D - 复用已有图标做别名(不新建图片资源) 最终 "Spine View" 出现在 Views 菜单,可与 Tree 并排停靠、折叠展开 另外: - ViewPatcher/ViewAgent:视图枚举与面板挂载的字节码插桩 - DecAll/ObMap/rewrite_source:字符串解密、派发还原、可读源码生成 - 阶段四-视图面板挂载.md:完整记录做法与踩过的坑 不纳入版本管理:rea/(独立仓库)、tools 下的 JDK/Ghidra 工具链、 Spine.app 与 spine-lab 副本、从载荷派生的批量产物。
This commit is contained in:
commit
2e7ab7c33c
113 files changed
+25327
No files matched your search
@@ -0,0 +1 @@
|
||||
{"evidence_id":"ev_b21baaed28ef8ff188a0ef20956c5ff5258f22377164cbe1969e3866a758804b","subject":{"name":"Spine","digest":{"sha256":"fea6e69af72dc5a3f38195f293b8af3d61b3bf4b3845b1069b6c3603384340f2"},"local_path":"/Users/tianmokeji/Desktop/临时/spine加功能/Spine.app/Contents/MacOS/Spine","format":"mach-o","architecture":"arm64"},"provider":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"analysis_profile":null,"predicate_type":"rea.analysis","operation":"trace_dylib_resolution","parameters":{},"raw_result":null,"normalized_result":{"root_path":"/Users/tianmokeji/Desktop/临时/spine加功能/Spine.app","target_sha256":"fea6e69af72dc5a3f38195f293b8af3d61b3bf4b3845b1069b6c3603384340f2","roots":[{"image":"Contents/MacOS/Spine","architecture":"arm64"},{"image":"Contents/MacOS/Spine_x86","architecture":"x86_64"},{"image":"Contents/MacOS/launcher/1/lib/jspawnhelper","architecture":"x86_64"},{"image":"Contents/MacOS/launcher/2/bin/ffmpeg-macos","architecture":"arm64"},{"image":"Contents/MacOS/launcher/2/bin/ffmpeg-macos-arm","architecture":"arm64"},{"image":"Contents/MacOS/launcher/2/bin/oxipng-macos","architecture":"arm64"},{"image":"Contents/MacOS/launcher/2/bin/oxipng-macos-arm","architecture":"arm64"},{"image":"Contents/MacOS/launcher/2/lib/jspawnhelper","architecture":"arm64"}],"images":[{"path":"Contents/MacOS/Spine","sha256":"fea6e69af72dc5a3f38195f293b8af3d61b3bf4b3845b1069b6c3603384340f2","parse_status":"parsed","reason":null,"slices":[{"architecture":"arm64","slice_offset":0,"slice_size":87536,"cpu_type":16777228,"cpu_subtype":0,"fat_cpu_type":null,"fat_cpu_subtype":null,"fat_alignment_exponent":null,"file_type":"execute","file_type_code":2,"platform":1,"platforms":[1],"install_name":null,"rpaths":["@executable_path/../Frameworks"],"dyld_environment":[],"code_signature_present":true}]},{"path":"Contents/MacOS/Spine_x86","sha256":"f7ca9cb634a1a81150c29e078edc7aacc99ec06181895f6d421847444ad387fd","parse_status":"parsed","reason":null,"slices":[{"architecture":"x86_64","slice_offset":0,"slice_size":54528,"cpu_type":16777223,"cpu_subtype":3,"fat_cpu_type":null,"fat_cpu_subtype":null,"fat_alignment_exponent":null,"file_type":"execute","file_type_code":2,"platform":1,"platforms":[1],"install_name":null,"rpaths":["@executable_path/../Frameworks"],"dyld_environment":[],"code_signature_present":true}]},{"path":"Contents/MacOS/launcher/1/lib/jspawnhelper","sha256":"35eea96a9f708da1c3b7b736f4a2a6d06478de769b8a02fc9da9911478992dac","parse_status":"parsed","reason":null,"slices":[{"architecture":"x86_64","slice_offset":0,"slice_size":15144,"cpu_type":16777223,"cpu_subtype":2147483651,"fat_cpu_type":null,"fat_cpu_subtype":null,"fat_alignment_exponent":null,"file_type":"execute","file_type_code":2,"platform":1,"platforms":[1],"install_name":null,"rpaths":[],"dyld_environment":[],"code_signature_present":false}]},{"path":"Contents/MacOS/launcher/2/bin/ffmpeg-macos","sha256":"7dc6231d735fabcec85e2892e68b620435aa2c9aa5ea8d33ee0a1ad1b1f330e8","parse_status":"parsed","reason":null,"slices":[{"architecture":"arm64","slice_offset":0,"slice_size":7727432,"cpu_type":16777228,"cpu_subtype":0,"fat_cpu_type":null,"fat_cpu_subtype":null,"fat_alignment_exponent":null,"file_type":"execute","file_type_code":2,"platform":1,"platforms":[1],"install_name":null,"rpaths":[],"dyld_environment":[],"code_signature_present":true}]},{"path":"Contents/MacOS/launcher/2/bin/ffmpeg-macos-arm","sha256":"7dc6231d735fabcec85e2892e68b620435aa2c9aa5ea8d33ee0a1ad1b1f330e8","parse_status":"parsed","reason":null,"slices":[{"architecture":"arm64","slice_offset":0,"slice_size":7727432,"cpu_type":16777228,"cpu_subtype":0,"fat_cpu_type":null,"fat_cpu_subtype":null,"fat_alignment_exponent":null,"file_type":"execute","file_type_code":2,"platform":1,"platforms":[1],"install_name":null,"rpaths":[],"dyld_environment":[],"code_signature_present":true}]},{"path":"Contents/MacOS/launcher/2/bin/oxipng-macos","sha256":"201b21e95b488e111857063bc71929704b892796badfd9b61dd9f05a699db1b7","parse_status":"parsed","reason":null,"slices":[{"architecture":"arm64","slice_offset":0,"slice_size":766608,"cpu_type":16777228,"cpu_subtype":0,"fat_cpu_type":null,"fat_cpu_subtype":null,"fat_alignment_exponent":null,"file_type":"execute","file_type_code":2,"platform":1,"platforms":[1],"install_name":null,"rpaths":[],"dyld_environment":[],"code_signature_present":true}]},{"path":"Contents/MacOS/launcher/2/bin/oxipng-macos-arm","sha256":"201b21e95b488e111857063bc71929704b892796badfd9b61dd9f05a699db1b7","parse_status":"parsed","reason":null,"slices":[{"architecture":"arm64","slice_offset":0,"slice_size":766608,"cpu_type":16777228,"cpu_subtype":0,"fat_cpu_type":null,"fat_cpu_subtype":null,"fat_alignment_exponent":null,"file_type":"execute","file_type_code":2,"platform":1,"platforms":[1],"install_name":null,"rpaths":[],"dyld_environment":[],"code_signature_present":true}]},{"path":"Contents/MacOS/launcher/2/lib/jspawnhelper","sha256":"35a5c7c56b0c7efc8e4Line truncated
|
||||
Reference in new issue
Block a user