Skip to content

Instantly share code, notes, and snippets.

View 4tochka's full-sized avatar
🌎
Bitcoin mass adoption

Aleksey Karpov 4tochka

🌎
Bitcoin mass adoption
View GitHub Profile
<!--
This is only meant to signal the opener's messageChannel to
the service worker - when that is done this mitm can be closed
but it's better to keep it alive since this also stops the sw
from restarting
The service worker is capable of intercepting all request and fork their
own "fake" response - wish we are going to craft
@4tochka
4tochka / fridascript.js
Created September 16, 2020 17:28
frida ssl pinning
Java.perform(function () {
console.log('')
console.log('===')
console.log('* Injecting hooks into common certificate pinning methods *')
console.log('===')
var X509TrustManager = Java.use('javax.net.ssl.X509TrustManager');
var SSLContext = Java.use('javax.net.ssl.SSLContext');
// build fake trust manager
This file has been truncated, but you can view the full file.
000000209079cfa352d92e478135a241e092819de1883df2571c42000000000000000000e663039da113bb8d6b38959034fe5420801855968143624f3820b70e1e110a4effd1e75a53fb451717072df3fd200a010000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff5503dbf10741d6b9f480dde58641d6b9f47ff877d92f4254432e544f502ffabe6d6dd0849ab30ea2f173bf9fd91f93092c27250e7812cc142542b6493837ef19d7758000000000000000d70004a105b2010000000000ffffffff023c31f14c000000001976a914ba507bae8f1643d2556000ca26b9301b9069dc6b88ac0000000000000000266a24aa21a9edf0a1643daeeb9ed5a98c0956232e2975a987785dfb126986f9f1629e839e22a00120000000000000000000000000000000000000000000000000000000000000000000000000010000000200c4f22392eb42255ff2cd6f67a571481efca0bf25b7efface6a029be70f1b64000000006b483045022100e106730eff211a883038e297db973d010d2752b02ceaec222c91db5b7a3164ea022072144c5b935229f748232e7ce5e676e3040ff081f9ab4a30bc6bf1d2b8df12ef012102ba76b277675cdbb4cc52c800349588cdd6a32d59145b1536a2e5f261261249bbffffffff916179620818ecccca3304741a7b9faf449edd07a68e1e
@4tochka
4tochka / gcs_10000_1000000
Created August 26, 2019 09:08
GCS 10 000 elements vs 1 000 000 monitoring addresses
GCS N=20000 M=54975581 P=25
GCS 10 000 elements vs 1 000 000 monitoring addresses:
generate address set ...
Test false positive rate for 2000 blocks:
Block 0 false positive 0 filter size 33982 time 0.0015957355499267578
Block 1 false positive 0 filter size 33987 time 0.0015730857849121094
Block 2 false positive 0 filter size 33983 time 0.0015752315521240234
Block 3 false positive 0 filter size 33980 time 0.0016140937805175781
Block 4 false positive 0 filter size 33985 time 0.0015499591827392578
@4tochka
4tochka / bip158_10000_100000
Created August 26, 2019 09:01
bip58 10 000 elements vs 100_000 monitoring addresses
...bip58 10 000 elements vs 100_000 monitoring addresses:
generate address set ...
Test false positive rate for 2000 blocks:
Block 0 false positive 1 filter size 26315 time 0.0010578632354736328
Block 1 false positive 0 filter size 26317 time 0.001024007797241211
Block 2 false positive 1 filter size 26324 time 0.0010418891906738281
Block 3 false positive 0 filter size 26322 time 0.0012307167053222656
Block 4 false positive 1 filter size 26312 time 0.0010046958923339844
Block 5 false positive 0 filter size 26313 time 0.0010037422180175781
Block 6 false positive 0 filter size 26317 time 0.0010018348693847656
@4tochka
4tochka / bip158_10000_784931
Created August 26, 2019 08:57
bip58 10 000 elements vs 784 931 monitoring addresses
..bip58 10 000 elements vs 784 931 monitoring addresses:
generate address set ...
Test false positive rate for 2000 blocks:
Block 0 false positive 0 filter size 26311 time 0.0012021064758300781
Block 1 false positive 0 filter size 26313 time 0.0011851787567138672
Block 2 false positive 1 filter size 26313 time 0.0012879371643066406
Block 3 false positive 2 filter size 26319 time 0.0013580322265625
Block 4 false positive 0 filter size 26317 time 0.0013189315795898438
Block 5 false positive 0 filter size 26318 time 0.0014388561248779297
Block 6 false positive 1 filter size 26316 time 0.0012128353118896484
@4tochka
4tochka / gcs_20000_10000000
Created August 26, 2019 08:49
GCS 20 000 elements vs 10 000 000 monitoring addresses
GCS: N=20000 M=54975581 P=25
GCS 20 000 elements vs 10 000 000 monitoring addresses:
generate address set ...
Test false positive rate for 2000 blocks:
Block 0 false positive 0 filter size 67969 time 0.00494694709777832
Block 1 false positive 0 filter size 67977 time 0.00347900390625
Block 2 false positive 2 filter size 67967 time 0.003425121307373047
Block 3 false positive 0 filter size 67972 time 0.0034067630767822266
Block 4 false positive 1 filter size 67974 time 0.0034339427947998047
@4tochka
4tochka / gcs_20000_100000000
Last active August 26, 2019 08:47
GCS 20 000 elements vs 100 000 000 monitoring addresses
GCS: N=20000 M=54975581 P=25
Testing filter functions:
........
GCS 20 000 elements vs 100 000 000 monitoring addresses:
generate address set ...
Test false positive rate for 2000 blocks:
Block 0 false positive 0 filter size 67973 time 0.004189968109130859
Block 1 false positive 1 filter size 67981 time 0.0043451786041259766
@4tochka
4tochka / gcs_20000_1000000
Last active August 26, 2019 08:48
GCS 20 000 elements vs 1 000 000 monitoring addresses
GCS: N=20000 M=54975581 P=25
Testing filter functions:
........
GCS 20 000 elements vs 1 000 000 monitoring addresses:
generate address set ...
Test false positive rate for 2000 blocks:
Block 0 false positive 0 filter size 67972 time 0.002808094024658203
Block 1 false positive 0 filter size 67970 time 0.00279998779296875
@4tochka
4tochka / sign_p2sh.py
Last active July 9, 2018 11:54
Sign P2SH with nested multisig 1 of 2
>>> from pybtc import *
>>>
>>> # first step create multisig script
>>> a1 = Address("cPBuqn4ZsddXunx6EEev6khbfUzFnh3xxdEUPCrm5uy9qGcmbBEt",
address_type="P2PKH", testnet=True)
>>> a2 = Address("cVgShyj2q4YKFX8VzCffuQcrJVYhp522NFozNi7ih2KgNVbnysKX",
address_type="P2PKH", testnet=True)
>>> script = b"".join([OP_1,
op_push_data(a1.public_key.key),
op_push_data(a2.public_key.key),