mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-22 11:26:11 +00:00
73 lines
2.3 KiB
C#
73 lines
2.3 KiB
C#
|
// Decompiled with JetBrains decompiler
|
|||
|
// Type: Microsoft.InfoCards.BeginGetFileNameFromUserRequest
|
|||
|
// Assembly: infocard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
|
|||
|
// MVID: 516D8B44-4448-4D2C-8B8E-FFBB3FFE472B
|
|||
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Virus.Win32.Expiro.w-69bb73081eac86b8cf86f45e33515d0095855636967076e2b593d7a30cd80a07.exe
|
|||
|
|
|||
|
using Microsoft.InfoCards.Diagnostics;
|
|||
|
using System;
|
|||
|
using System.IO;
|
|||
|
|
|||
|
namespace Microsoft.InfoCards
|
|||
|
{
|
|||
|
internal class BeginGetFileNameFromUserRequest : UIAgentAsyncBeginRequest
|
|||
|
{
|
|||
|
private bool m_getContent;
|
|||
|
private string m_arguments;
|
|||
|
|
|||
|
public BeginGetFileNameFromUserRequest(
|
|||
|
IntPtr rpcHandle,
|
|||
|
Stream inArgs,
|
|||
|
Stream outArgs,
|
|||
|
ClientUIRequest parent)
|
|||
|
: base(rpcHandle, inArgs, outArgs, parent)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
protected override void OnMarshalAsyncInArgs(BinaryReader reader)
|
|||
|
{
|
|||
|
this.m_getContent = reader.ReadBoolean();
|
|||
|
this.m_arguments = Utility.DeserializeString(reader);
|
|||
|
}
|
|||
|
|
|||
|
protected override object AsyncExecute(AsyncParams asyncParams)
|
|||
|
{
|
|||
|
uint num = 0;
|
|||
|
string empty = string.Empty;
|
|||
|
GetFileNameResult getFileNameResult = new GetFileNameResult();
|
|||
|
using (new SystemIdentity(true))
|
|||
|
num = NativeMcppMethods.CreateAndWaitForFileOpenDialogWrapper(this.m_arguments, this.RequestorIdentity, this.ParentRequest.CallerPid, ref empty);
|
|||
|
if (num == 0U)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
getFileNameResult.FileName = empty;
|
|||
|
if (this.m_getContent)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(empty))
|
|||
|
{
|
|||
|
FileInfo fileInfo = new FileInfo(empty);
|
|||
|
using (FileStream fileStream = File.OpenRead(empty))
|
|||
|
{
|
|||
|
BinaryReader binaryReader = (BinaryReader) new InfoCardBinaryReader((Stream) fileStream);
|
|||
|
getFileNameResult.FileContent = binaryReader.ReadBytes((int) fileInfo.Length);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (!InfoCardTrace.IsFatal(ex))
|
|||
|
throw InfoCardTrace.ThrowHelperError((Exception) new FileAccessException(SR.GetString("ServiceInaccessibleFile"), ex));
|
|||
|
throw;
|
|||
|
}
|
|||
|
}
|
|||
|
return (object) getFileNameResult;
|
|||
|
}
|
|||
|
|
|||
|
protected override void AsyncCancel()
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
}
|