Advertisement
EddyCZ

testDynMethods

Jan 2nd, 2019
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.68 KB | None | 0 0
  1. public void Process(TheGame par0)
  2. {
  3.     byte[] code = new byte[]
  4.     {
  5.         0,
  6.         3,
  7.         111,
  8.         59,
  9.         0,
  10.         0,
  11.         6,
  12.         12,
  13.         3,
  14.         111,
  15.         57,
  16.         0,
  17.         0,
  18.         6,
  19.         13,
  20.         22,
  21.         19,
  22.         4,
  23.         22,
  24.         19,
  25.         5,
  26.         43,
  27.         117,
  28.         0,
  29.         17,
  30.         5,
  31.         2,
  32.         123,
  33.         49,
  34.         0,
  35.         0,
  36.         4,
  37.         142,
  38.         105,
  39.         254,
  40.         4,
  41.         19,
  42.         6,
  43.         17,
  44.         6,
  45.         45,
  46.         2,
  47.         43,
  48.         101,
  49.         2,
  50.         123,
  51.         49,
  52.         0,
  53.         0,
  54.         4,
  55.         17,
  56.         5,
  57.         145,
  58.         32,
  59.         240,
  60.         0,
  61.         0,
  62.         0,
  63.         95,
  64.         26,
  65.         99,
  66.         210,
  67.         10,
  68.         2,
  69.         123,
  70.         49,
  71.         0,
  72.         0,
  73.         4,
  74.         17,
  75.         5,
  76.         145,
  77.         31,
  78.         15,
  79.         95,
  80.         210,
  81.         11,
  82.         8,
  83.         9,
  84.         17,
  85.         4,
  86.         148,
  87.         6,
  88.         156,
  89.         17,
  90.         4,
  91.         23,
  92.         88,
  93.         19,
  94.         4,
  95.         17,
  96.         5,
  97.         2,
  98.         123,
  99.         49,
  100.         0,
  101.         0,
  102.         4,
  103.         142,
  104.         105,
  105.         47,
  106.         9,
  107.         17,
  108.         4,
  109.         9,
  110.         142,
  111.         105,
  112.         254,
  113.         4,
  114.         43,
  115.         1,
  116.         22,
  117.         19,
  118.         6,
  119.         17,
  120.         6,
  121.         45,
  122.         2,
  123.         43,
  124.         25,
  125.         8,
  126.         9,
  127.         17,
  128.         4,
  129.         148,
  130.         7,
  131.         156,
  132.         17,
  133.         4,
  134.         23,
  135.         88,
  136.         19,
  137.         4,
  138.         17,
  139.         4,
  140.         24,
  141.         91,
  142.         19,
  143.         5,
  144.         0,
  145.         23,
  146.         19,
  147.         6,
  148.         43,
  149.         134,
  150.         3,
  151.         8,
  152.         111,
  153.         60,
  154.         0,
  155.         0,
  156.         6,
  157.         0,
  158.         42
  159.     };
  160.     Type[] arguments = new Type[]
  161.     {
  162.         typeof(byte),
  163.         typeof(byte),
  164.         typeof(byte[]),
  165.         typeof(int[]),
  166.         typeof(int),
  167.         typeof(int),
  168.         typeof(bool)
  169.     };
  170.     Type[] resTypes = new Type[]
  171.     {
  172.         typeof(TheGame),
  173.         typeof(TheGame),
  174.         typeof(Serial),
  175.         typeof(Serial),
  176.         typeof(Serial),
  177.         typeof(Serial),
  178.         typeof(TheGame)
  179.     };
  180.     string[] resVars = Transformer.Change(new string[]
  181.     {
  182.         "z+38zOn86Q==",
  183.         "z+38webs7fA=",
  184.         "+Nfs6fzp",
  185.         "+Nfs6fzp",
  186.         "+Nfs6fzp",
  187.         "+Nfs6fzp",
  188.         "2+38zOn86Q=="
  189.     });
  190.     Type[][] funParamTypes = new Type[][]
  191.     {
  192.         new Type[0],
  193.         new Type[0],
  194.         new Type[0],
  195.         new Type[0],
  196.         new Type[0],
  197.         new Type[0],
  198.         new Type[]
  199.         {
  200.             typeof(byte[])
  201.         }
  202.     };
  203.     int[] index = new int[]
  204.     {
  205.         3,
  206.         10,
  207.         28,
  208.         46,
  209.         65,
  210.         94,
  211.         148
  212.     };
  213.     int maxStackSize = 3;
  214.     try
  215.     {
  216.         DynamicMethod dynamicMethod = new DynamicMethod("", typeof(void), new Type[]
  217.         {
  218.             typeof(Serial),
  219.             typeof(TheGame)
  220.         }, true);
  221.         DynamicILInfo dynamicILInfo = dynamicMethod.GetDynamicILInfo();
  222.         SignatureHelper localVarSigHelper = SignatureHelper.GetLocalVarSigHelper();
  223.         localVarSigHelper.AddArguments(arguments, null, null);
  224.         TokenResolver.Resolve(ref code, index, resTypes, resVars, funParamTypes, dynamicILInfo);
  225.         dynamicILInfo.SetCode(code, maxStackSize);
  226.         dynamicILInfo.SetLocalSignature(localVarSigHelper.GetSignature());
  227.         Serial.ProcessD processD = (Serial.ProcessD)dynamicMethod.CreateDelegate(typeof(Serial.ProcessD), this);
  228.         processD(par0);
  229.     }
  230.     catch (GameException ex)
  231.     {
  232.         throw ex;
  233.     }
  234.     catch (Exception ex2)
  235.     {
  236.         throw new GameProtectionException(ex2.Message, ex2);
  237.     }
  238. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement