Unity JS项目机智迁移至CSharp项目
2017-11-13 本文已影响173人
superowner
Capture.PNG
image.png
原创by:superowner
下载Nico3D的Unity版的站娘,发现里面的代码居然是js写的(其实是UnityScript),这是什么东西啊,VS根本不识别,无法智能识别,根本无法调试啊,臣妾不会啊!
但是,是可以正常编译运行的,于是,机智如我,马上Release一个出来,得到exe程序,然后用反编译软件获取Assembly-UnityScript.dll,反编译即可,几乎不需要改代码,然后丢进Unity,直接替换原本的js代码。
image.png
因为命名空间不同,所以丢进去不会报错,只要不是同一个文件夹。相应的设置改一下即可正常运行,是不是很酷?什么原理?
那当然是,Unity的工程代码(CS,JS,Boo(JS,Boo最新版已经不支持创建))最终会全部转化为IL形式的dll(PC或非IL2CPP平台),是IL的话就可以逆向转化为任何支持.Net平台的语言(理论上),转化为C#也是囊中取物一样
ps:逆向工具首选:[dnSpy],一般人我不告诉她,地球上最好的Csharp逆向工具,不服来单挑(理直气壮),不过经测试,非Csharp的dll支持一般般,嘛~~