深入剖析<橙光游戏制作工具>

236 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第31天,点击查看活动详情

发现橙光所使用的技术栈: WPF+ELectron+LayaEngine

image.png

观察发现在应用安装目录的interpreter/H5和electron应用常规目录非常相似

image.png

特别是resources目录,asar是electron应用特有的格式

image.png 那么,我们就直奔electron部分的代码吧,在interpreter/H5/bin目录,发现竟然没有压缩混淆

image.png

当然这里的代码仅仅是渲染进程的代码,如果想要打开devtools,就要找到主进程代码,那么主进程的代码在哪里呢?

interpreter/H5/resources/app目录发现了最终代码,electron应用的一个特点就是package.json,这个目录里面也包含了

image.png 竟然连.idea目录都发布出来了,看来使用webstorm写的呀

既然找到了主进程代码,那么我们就尝试着打开devtools吧,最终锁定了BWindow,如果没有猜错的话,就是对Electron的BrowserWindows的封装

image.png

竟然有一个这么明显的函数,那就对不住啦

image.png 点击测试,完美打开devtools,至此我们就可以随心所欲的使用devtools的各种调试手段,分析这款软件了。

image.png 如果我没有猜错的话,很可能橙光内部也在考虑electron去重写整个编辑器,毕竟wpf只能搞Windows,现在使用electron开发的应用也越来越多