Skip to content

CockyGrabber v2.4.0

Latest
Compare
Choose a tag to compare
@MoistCoder MoistCoder released this 17 Oct 13:59
· 4 commits to main since this release
21d9b1d

Additions

  • Added a Nuget Package
  • Added a ToJson() method to all browser information classes (Cookie, Login, Bookmark, ...) that serializes the class into a JSON string
  • Added Unit Tests for the different browser grabber classes.
  • It's now possible to retrieve the form history and saved credit cards from browsers (for now, credit cards only from Blink-based browsers).
  • CockyGrabber does now support the gathering of data on multiple blink browser profiles.
  • The BlinkGrabber and GeckoGrabber classes now have two methods for each browser information that check if the related file that stores that information exists: [name of the data]Exist(string) and Any[name of the data]Exist() (e. g: CookiesExist(string) and AnyCookiesExist()). The former returns a bool indicating if the, to the information corresponding, file of a specified browser profile exists, and the latter returns a bool indicating if that file exists on any browser profile (given that the browser supports having different profiles).
  • Added a SameSiteType enum in each of the Blink and Gecko cookie model classes, replacing the return type of the SameSite fields.

Improvements

  • Browser file paths are now dynamic (they now use Environment.GetFolderPath(Appdata) instead of C:\\Users\\{Environment.UserName}\\AppData...) and support other drive letters than C:\
  • Improved the UniversalGrabber Get-methods by using Parallel.ForEach instead of foreach making them faster by a LOT.
  • Changed the GetKey() method of the BlinkGrabber to virtual so that the user can overwrite it.
  • Fixed a bug in the GetKey() method of the BlinkGrabber class that caused it to crash when the JSON object os_crypt, which stores the value encrypted_key, contained other values than encrypted_key. (Changed regex expression from \"os_crypt\"\\s*:\\s*{\\s*\"encrypted_key\"\\s*:\\s*\".*?\"\\s*} to \"os_crypt\"\s*:\s*\{\s*.*?(?=\"encrypted_key)\"encrypted_key\"\s*:\s*\"(?<encKey>.*?)\"\s*\})
  • The Universal GetAllBlink...() methods are now checking if the related file and the Local State file, which stores the key, exist before grabbing the information to avoid any errors
  • Fixed the wrong expiry dates in the GetGeckoCookies() & GetGeckoCookiesBy() methods (Their cookie expiry dates used to always be: 01.01.1970 00:00:00 +00:00)
  • Some variables have been renamed to make them more readable
  • The arrays which contain the browser classes in the UniversalGrabber (BlinkGrabbers[] and GeckoGrabbers[]) are now public instead of private so that the user can change them if needed (e.g. to add a new browser)
  • The Timestamp conversion methods like UnixTimeInMillisecondsToDate(milliSeconds) or WebkitTimeStampToDateTime(microSeconds) in the EngineGrabbers have been moved to the new Time class in the Utility namespace
  • Some paths in the grabber classes (e.g: BraveGrabber; ChromeGrabber; OperaGrabber) have changed