mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-19 09:56:10 +00:00
f2ac1ece55
add
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: ADE0A079-11DB-4A46-8BDE-D2A592CA8DEA
|
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Virus.Win32.Expiro.w-1f15ee7e9f7da02b6bfb4c5a5e6484eb9fa71b82d3699c54bcc7a31794b4a66d.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()
|
|
{
|
|
}
|
|
}
|
|
}
|