0×Ret 发表于 2022-1-5 18:14

VMUnprotect.NET

本帖最后由 0×Ret 于 2022-1-5 18:18 编辑

软件说明:
VMUnprotect.NET
https://github.com/void-stack/VMUnprotect
https://github.com/void-stack/VMUnprotect/archive/refs/heads/main.zip

VMUnprotect是一个致力于寻找虚拟化VMProtect方法的项目。它利用Harmony动态读取VMP行为。目前仅支持方法管理。适用于VMProtect 3.5.1(最新)和几个版本。


https://github.com/void-stack/VMUnprotect/blob/main/VMUP/media/gif.gif

用法
VMUnprotect.exe <path to assembly>
支持的保护
注意:所有支持的保护都可以组合使用


保护名称支持

内存保护是的

进口保护是的

资源保护是的

调试器检测是的

虚拟化工具是的

剥离调试信息是的

打包输出文件#



用法可以在 MiddleMan.cs 中找到namespace VMUnprotect
{
    /// <summary>
    ///   Works as Middle Man to make life easier
    /// </summary>
    internal static class MiddleMan
    {
      /// <summary>
      ///   This function manipulate can manipulate, log actual invokes from virtualized VMP functions.
      /// </summary>
      public static object VmpMethodLogger(object obj, BindingFlags? bindingFlags, Binder binder, ref object[] parameters, CultureInfo culture, MethodBase methodBase)
      {
            // Invoke the method and get return value.
            var returnValue = methodBase.Invoke(obj, parameters);

            // TODO: Add option to disable this because can cause bugs and can be broken easily
            var trace = new StackTrace();
            var frame = trace.GetFrame(5); // <--
            var method = frame.GetMethod();

            if (method.IsConstructor)
                ConsoleLogger.Warn($"VMP Method (Constructor) {method.FullDescription()}");

            ConsoleLogger.Warn($"VMP Method: {method.FullDescription()}");

            ConsoleLogger.Warn("MethodName: {0}", methodBase.Name);
            ConsoleLogger.Warn("FullDescription: {0}", methodBase.FullDescription());
            ConsoleLogger.Warn("MethodType: {0}", methodBase.GetType());
            if (obj != null) ConsoleLogger.Warn("obj: {0}", obj.GetType());

            // Loop through parameters and log them
            for (var i = 0; i < parameters.Length; i++)
            {
                var parameter = parameters;
                ConsoleLogger.Warn("Parameter ({1}) [{0}]: ({2})", i, parameter.GetType(), parameter);
            }

            ConsoleLogger.Warn("MDToken: {0}", methodBase.MetadataToken);
            ConsoleLogger.Warn("Returns: {0}", returnValue);

            if (returnValue != null)
                ConsoleLogger.Warn("Return type: {0}\n", returnValue.GetType());

            return returnValue;
      }
    }
}
[*]跟踪虚拟化方法中的调用。
[*]操作参数和返回值。

软件配图:




病毒查杀截图或链接:

https://habo.qq.com/file/showdetail?pk=ADcGYV1uB2IIMVs9U2A%3D
下载链接:
编译好的 需要在.NET Framework 4.7.2 下运行





snak2020 发表于 2022-1-5 19:22

谢谢分享,收藏

lyl537c 发表于 2022-1-5 19:28

太厉害了,vmp的都可以搞定。

byh3025 发表于 2022-1-5 19:44

lyl537c 发表于 2022-1-5 19:28
太厉害了,vmp的都可以搞定。

它应该不是脱vmp的吧?

skip2 发表于 2022-1-5 19:50

大佬你发的怎么都这么给力呢,一个字太帅了

skip2 发表于 2022-1-5 19:53

啥时候疯狂一把,dng3.86的那个脱壳机也放出来{:5_117:}

nypht1228 发表于 2022-1-5 20:32

什么东西不明白

阿桂哥 发表于 2022-1-6 06:53

谢谢楼主分享

penghang 发表于 2022-1-6 17:31

这是激活版吗

wangqinggang225 发表于 2022-1-6 22:45

谢谢分享,收藏
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: VMUnprotect.NET