mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-23 03:46:10 +00:00
205 lines
6.0 KiB
C#
205 lines
6.0 KiB
C#
|
// 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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|