Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Drawing;
- using System.IO;
- using System.Linq;
- using System.Security.Cryptography;
- using System.Text;
- using System.Threading.Tasks;
- using HarmonyLib;
- namespace ConsoleApp1 {
- class Program {
- static Stream Decry(string FileName, int type) {
- // This is just a demonstration, this method should not run because default(Stream) is null
- byte[] array = File.ReadAllBytes(FileName);
- TripleDESCryptoServiceProvider tripleDESCryptoServiceProvider = new TripleDESCryptoServiceProvider();
- MD5CryptoServiceProvider md5CryptoServiceProvider = new MD5CryptoServiceProvider();
- tripleDESCryptoServiceProvider.Key = md5CryptoServiceProvider.ComputeHash(default(Stream));
- tripleDESCryptoServiceProvider.Mode = CipherMode.ECB;
- ICryptoTransform cryptoTransform = tripleDESCryptoServiceProvider.CreateDecryptor();
- byte[] array2 = array;
- array2 = cryptoTransform.TransformFinalBlock(array2, 0, array2.Length);
- return new MemoryStream(array2);
- }
- static Stream StandInMethod1(string FileName, int type) {
- return null;
- }
- static Program StandInMethod2(string FileName, int type) {
- byte[] array;
- TripleDESCryptoServiceProvider tripleDESCryptoServiceProvider;
- MD5CryptoServiceProvider md5CryptoServiceProvider;
- ICryptoTransform cryptoTransform;
- byte[] array2;
- return null;
- }
- static void Main(string[] args) {
- var HarmonyInst = new Harmony("Just a Test");
- var original = AccessTools.Method(typeof(Program), "Decry");
- var standin1 = AccessTools.Method(typeof(Program), "StandInMethod1");
- var standin2 = AccessTools.Method(typeof(Program), "StandInMethod2");
- new ReversePatcher(HarmonyInst, original, standin2).Patch();
- new ReversePatcher(HarmonyInst, original, standin1).Patch();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement