阶段四: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_9b04f23052e3407e648ebc0041e3974dcb27b0143b60b2383d5421ca6e9f0ee9","subject":{"name":"Spine.app","digest":{"sha256":"3ae6f7d89dd215bc2af41c342e6f0da18e4879a367a792864af123cc932eddd6"},"local_path":"/Users/tianmokeji/Desktop/临时/spine加功能/Spine.app","format":"directory","architecture":null},"provider":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"analysis_profile":null,"predicate_type":"rea.analysis","operation":"inspect_artifact","parameters":{"integrity_policy":"fail"},"raw_result":null,"normalized_result":{"inspection_id":"ai_b1669da28fcdcff85de83bb85c6f2cc17303c03200353fc1c778550a8f3a92f7","subject":{"manifest_id":"agm_82b508d4d559c723e0f2dd27c51e61eaf519031bb2c465ca4524b9c7ba692c74","root_artifact_id":"art_ae3243db850c220d5ab80b5cb8079ae70b9b833bb3b0254420a699b137b75a0e","root_sha256":"3ae6f7d89dd215bc2af41c342e6f0da18e4879a367a792864af123cc932eddd6","root_format":"directory"},"substeps":[{"substep_id":"ais_31c0e3c3ea51a057c0602b45c0f647d753fa1df1209b269fb746848c5cfbb89e","operation":"inventory_artifact","status":"completed","evidence_id":"ev_1f18fe9264db0c8d46d98d51641d533fae5bcb7c49ba7c92b06e9df4a44aced6","evidence":{"evidence_id":"ev_1f18fe9264db0c8d46d98d51641d533fae5bcb7c49ba7c92b06e9df4a44aced6","subject":{"name":"Spine.app","digest":{"sha256":"3ae6f7d89dd215bc2af41c342e6f0da18e4879a367a792864af123cc932eddd6"},"local_path":"/Users/tianmokeji/Desktop/临时/spine加功能/Spine.app","format":"directory","architecture":null},"provider":{"id":"rea-artifact-graph","name":"REA safe artifact graph provider","version":"1"},"analysis_profile":null,"predicate_type":"rea.analysis","operation":"inventory_artifact","parameters":{"integrity_policy":"fail"},"raw_result":null,"normalized_result":{"manifest":{"manifest_id":"agm_82b508d4d559c723e0f2dd27c51e61eaf519031bb2c465ca4524b9c7ba692c74","root_artifact_id":"art_ae3243db850c220d5ab80b5cb8079ae70b9b833bb3b0254420a699b137b75a0e","root_sha256":"3ae6f7d89dd215bc2af41c342e6f0da18e4879a367a792864af123cc932eddd6","root_format":"directory","graph_sha256":"d18481e958456ac2dc71cdc43211671100d49ca366b20f474c6ad7e328af11c0","node_count":185,"occurrence_count":239,"edge_count":238},"nodes":[{"artifact_id":"art_00afd2822ca673596e66205dadeffc761c4bd49d25be1e2fa7c41498ecde1300","format":"file","sha256":"5e4e6623a21a63f9bc16ea54af4133b8038e490c0d499a74676f9e5a61b9c5b2","size":2384,"media_type":null,"architecture":null,"content_state":"embedded","limitations":[]},{"artifact_id":"art_00b813901f721c0c8df140a505792c62c4579857d96aa50cdbb9b236a57a9144","format":"file","sha256":"299c2360b6155eb28990ec49cd21753f97e43442fe8fab03e04f3e213df43a66","size":1210,"media_type":null,"architecture":null,"content_state":"embedded","limitations":[]},{"artifact_id":"art_01025a6e14341a82c76634d2700f78272e5a93c717fa2d6f3bf82b5a23d9b84e","format":"file","sha256":"dcaf0e0e52b7cc073ded86c66117ea0fb6b91ae33eb4d3584a98902d586b1387","size":2594,"media_type":null,"architecture":null,"content_state":"embedded","limitations":[]},{"artifact_id":"art_029ea9766596fc6bcfc8e2eb5d51e7e3ee65c696183548d15bd202449e227d5f","format":"directory","sha256":"8bba921eb7f84133b3856d4d2352d0b7eb9d07774ce75fedb461a1bd51c8b059","size":0,"media_type":null,"architecture":null,"content_state":"virtual","limitations":[]},{"artifact_id":"art_0561f8eedecb675bf831c7b400e75dfbb3a1d7e6b7e02a91e76ba48035564434","format":"directory","sha256":"83a810c05768a4df008af38946a514628211e02684974b2c177d431d10be2269","size":0,"media_type":null,"architecture":null,"content_state":"virtual","limitations":[]},{"artifact_id":"art_061c6700f9c7043f1b12cee1dd964184128e56df771f58db5c580be2be667152","format":"file","sha256":"c8b99f33890887d27ad56fba9edd8ebbc668cfe0689168505a95613d1d4b32f8","size":1288,"media_type":null,"architecture":null,"content_state":"embedded","limitations":[]},{"artifact_id":"art_0915d610333f36edf46090c94528b94230afdb3707865849b48836062609d691","format":"file","sha256":"41f4d63e670d75f5936a895aae919e226f5d50c54b5b09db3ba4d7052a2c1554","size":1178,"media_type":null,"architecture":null,"content_state":"embedded","limitations":[]},{"artifact_id":"art_09c78588acba2970adea1787e5d4c9eec8296df85fdf105bd147033f01598ce8","format":"file","sha256":"e93dc8e2b930cdc39c0c618fe1b23e74e73002765ffea18440d8e9c4311ebdf1","size":11392,"media_type":null,"architecture":null,"content_state":"embedded","limitations":[]},{"artifact_id":"art_0cb4629ab6fe26684cfd515b50a275d46686056f4b06a02254389d914acb83c1","format":"mach-o","sha256":"7468546df6669959e25bf6d58c8a76b9969557457a08feb47c3794ef55ca1f82","size":123888,"media_type":null,"architecture":null,"content_state":"embedded","limitations":[]},{"artifact_id":"art_0ce386ea941a60972488e16a6f57e655cc84557d8cfa265a93cf84f6e6e54d0d","format":"mach-o","sha256":"a86a356ba1cecd35fb34044432d37790e1dd29a7dc18f7499b82a3a2119fade9","size":373088,"media_type":null,"architecture":null,"content_state":"embedded","limitations":[]},{"artifact_id":"art_0ce5a0009Line truncated
|
||||
Reference in new issue
Block a user