Skip to content

Instantly share code, notes, and snippets.

@4c74356b41
Last active February 6, 2023 10:22
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 4c74356b41/b8e3a37d4c6802d9aba1523887c2611c to your computer and use it in GitHub Desktop.
Save 4c74356b41/b8e3a37d4c6802d9aba1523887c2611c to your computer and use it in GitHub Desktop.
bustabit verifier script in powershell
$sha256 = [System.Security.Cryptography.HashAlgorithm]::Create('SHA256')
$hmacsha256 = [System.Security.Cryptography.HashAlgorithm]::Create('HMACSHA256')
$hmacsha256.key = [Text.Encoding]::UTF8.GetBytes('0000000000000000004d6ec16dafe9d8370958664c1dc422f452892264c59526')
$newHash = '2903d97704db3c318063a7bb86c93dbf814e305fb3d059130e391df2cf0d5794'
$games = foreach ($x in 0..3739515) {
$signature = [System.BitConverter]::ToString(
$hmacsha256.ComputeHash(
[byte[]] -split ($newHash -replace '..', '0x$& ')
)
).Substring(0, 19).Replace('-','').ToLower()
$newHash = [System.BitConverter]::ToString(
$sha256.ComputeHash(
[System.Text.Encoding]::UTF8.GetBytes(
$newHash
)
)
).Replace('-','').ToLower()
$r = [convert]::ToInt64($signature, 16)
$x = 99 / (1 - ($r / [math]::Pow(2, 52)))
@{ hash = $newHash; bust = [math]::Max(1.00, [math]::Floor($x) / 100) }
}
@VectorBCO
Copy link

for ($i = 10; $i -gt 0; $i--) - это можно расспараллелить если нет зависимости между итерациями // вижу что взаимозависимые :(

тут [psobject]@{ hash = $message; bust = $bust наверное должен быть [pscustomobject] ато после приведения типов все равно останется хеш таблица

реплейсы Replace('-', '').ToLower() яб вынес в функцию, там они и так уже есть

к слову если реплейсом жахнуть все хеши склеенные вместе должно получиться быстрее чем перебирая их поодному

@4c74356b41
Copy link
Author

4c74356b41 commented Sep 28, 2020

переделал. Вызовы функции, походу, довольно дорогие, просто вызывать методы быстрее. Вынес второй хешер, чтобы не пересоздавать его 3.7кк раз, приделал сабстринг перед реплейсом и ловером, а не после него,, по идее это должно еще немного времени выиграть. Переделал for на foreach, для интежеров он быстрее сильно. еще кое-где убрал присваивание в промежуточные переменные (читаемость, к сожалению, упала).

в целом где-то на порядок быстрее работает теперь. еще минорный баг поправил :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment