【Eclipse】eclipse安装JAVA反编译插件

2019-12-15 05:18栏目:bob体育平台
TAG:

 

 前言:在事实上的开支中大致都会利用到有的框架来援救项目标支出职业,对于一些框架的代码大家总怀有后生可畏对惊讶之心,想大器晚成探终归,有源码当然更加好了,对于某个JA传祺包中的代码大家就供给选择反编写翻译工具来看一下了,下边是本人常选用的生龙活虎种安装JAVA反编写翻译工具的艺术,操作比较简单,然而岁月长了也便于忘记,依然在这里小记一笔吧!究竟好记性不及烂笔头(插件集镇中有过多美不可言的,本人能够品味玩玩看!)

  12月二八日,在新加坡办起的Unite Shanghai 2019整个世界开采者大会上,全世界抢先的嬉戏引擎巨头Unity和Tencent游戏安全发表合营,双方正协同制作豆蔻年华款简单易用的十七日游加密安全方案UPS,全称Unity Protect Solution,Unity珍爱建设方案。它是风度翩翩款跨平台的游玩爱抚方案,能够基于游戏的分歧编写翻译情势提供分化的爱护方案。不仅仅如此,UPS被购并到了Unity开辟条件中,开垦者只需求在UnityEditor中勾选爱抚选项,就足以在构建时加密游戏,真正完结了意气风发键加密。该方案意在为游乐开垦者提供越来越正式和更高防范品级、并且轻巧易用的游戏安全维护手腕,为二十日游避风挡雨。

对于Action的利用情势应用如下:

1:Eclipse的版本音讯

  Tencent娱乐安全作为Tencent游戏公共研究开发运行系统中等专门的学业学园注于游戏安全的公司,自2007年始发,就投身于外挂对抗和爱抚游戏的最前沿,有着十余年的平安工夫对抗和营业经历,多年来,保障了像LOL、CF、DNF、王者联盟、激情战场等千万活跃量级端手游的平安运维。

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string first = "First";
            var action = new Action(() => { Console.WriteLine(first); });
            action();

            var action2 = new Action<string>((s) => { Console.WriteLine($"Action<T>:{s}"); });
            action2(first);

            var action3 = new Action<string, string>((s1, s2) => {
                Console.WriteLine($"Action<T1,T2>:{s1},{s2}");
            });
            action3(first, "second");
        }
    }
}

图片 1

  Tencent游戏安全顾客端敬服理事陈小虎在Unity大会上的享受

接受dotPeek通过反编写翻译,得到代码:

2:Help——Eclipse Marketplace

  Unity引擎是全球有名娱乐、V揽胜/AOdyssey开拓平台,为整个世界超越990万的挂号开垦者提供劳务和解决方案,如:Unity Asset Store财富公司、Unity Analytics剖析、Unity Ads广告服务、Unity Connect 等。

namespace ConsoleApp1
{
  internal class Program
  {
    private static void Main(string[] args)
    {
      string first = "First";
      ((Action) (() => Console.WriteLine(first)))();
      ((Action<string>) (s => Console.WriteLine(string.Format("Action<T>:{0}", (object) s))))(first);
      ((Action<string, string>) ((s1, s2) => Console.WriteLine(string.Format("Action<T1,T2>:{0},{1}", (object) s1, (object) s2))))(first, "second");
    }
  }
}

图片 2

  Unity游戏的平安危机

 

3-1:输入 Decompiler 寻觅并设置此插件

  对习以为常的Unity游戏开拓者来说,游戏安全部是三个一发供给被关切的主题素材。使用Unity-Mono格局编写翻译的娱乐,会将C#剧本代码编写翻译为IL中间码,公布到娱乐顾客端,这种中间码轻巧被反编写翻译出源代码,被部分违法人员破解,进而引致外挂或许盗版游戏的产出。

下边写生龙活虎种与反编写翻译出来的相符的艺术

图片 3

  而对此Unity-IL2CPP编写翻译的游玩来说,使用IL2CPPDumper等标记深入分析工具得以剖析出娱乐包中的global-metadata.dat富含的标识新闻,富含类名、方法名以至艺术对应的摆荡。那些消息轻易被攻击者利用。

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string first = "First";
            var action = new Action(() => { Console.WriteLine(first); });
            action();

            var action2 = new Action<string>((s) => { Console.WriteLine($"Action<T>:{s}"); });
            action2(first);

            var action3 = new Action<string, string>((s1, s2) =>
            {
                Console.WriteLine($"Action<T1,T2>:{s1},{s2}");
            });
            action3(first, "second");

            new Action(() => { Console.WriteLine(first); })();
            new Action<string>((s) => { Console.WriteLine($"Action<T>:{s}"); })(first);
            new Action<string, string>((s1, s2) =>
            {
                Console.WriteLine($"Action<T1,T2>:{s1},{s2}");
            })(first, "second");
        }
    }
}

3-2:输入 反编写翻译 寻觅并安装此插件(有无数妙趣横生的插件,不要紧尝试玩大器晚成玩)

  global-metadata.dat爱抚的标识新闻

看一下反编写翻译的结果:

图片 4

  在那背景下,Unity和Tencent娱乐安全的合营,无疑是不足为道Unity游戏开采者的教义,通过UPS,开荒者将能够进一层便捷和低本钱地创设精良的玩耍,相当大地提高游戏的安全防御品级。

namespace ConsoleApp1
{
  internal class Program
  {
    private static void Main(string[] args)
    {
      string first = "First";
      ((Action) (() => Console.WriteLine(first)))();
      ((Action<string>) (s => Console.WriteLine(string.Format("Action<T>:{0}", (object) s))))(first);
      ((Action<string, string>) ((s1, s2) => Console.WriteLine(string.Format("Action<T1,T2>:{0},{1}", (object) s1, (object) s2))))(first, "second");
      ((Action) (() => Console.WriteLine(first)))();
      string str1 = first;
      ((Action<string>) (s => Console.WriteLine(string.Format("Action<T>:{0}", (object) s))))(str1);
      string str2 = first;
      string str3 = "second";
      ((Action<string, string>) ((s1, s2) => Console.WriteLine(string.Format("Action<T1,T2>:{0},{1}", (object) s1, (object) s2))))(str2, str3);
    }
  }
}

4:这里有三种分裂的反编写翻译插件工具的接收,能够先都选上,然后尝试一下,看看那些更加有趣

  对Unity-Mono游戏,近些日子市情上主流的保卫安全方案是对剧本文件举行加密,在玩乐加载时张开解密,这种加密方法的破解门槛非常的低。UPS在近期方案的底子上,扩张了法子加密,达成了运维时动态解密,固然攻击者在内部存款和储蓄器中获得到剧本文件,也心余力绌反编写翻译。

反编写翻译结果是帮大家定义了多少个变量。

图片 5

  l 方法加密

 

5:没得选,不采用,就不可能三翻五次玩了

  使用方法加密后ilSpy不能够反编译

图片 6

  由于剧本文件将具备的字符串以公开方式保留在一个分明的布局中,攻击者能够透过那么些字符串轻松赢得代码中的敏感音信。基于此,UPS选拔字符串加密,使得反编写翻译出的类名、方法名叫乱码,进一层升高了代码破解难度。

版权声明:本文由bob体育app发布于bob体育平台,转载请注明出处:【Eclipse】eclipse安装JAVA反编译插件