diff --git a/lib/protobuf-decoder/intUtils.js b/lib/protobuf-decoder/intUtils.js deleted file mode 100644 index 3e16ea4..0000000 --- a/lib/protobuf-decoder/intUtils.js +++ /dev/null @@ -1,27 +0,0 @@ -import JSBI from "jsbi"; - -export function interpretAsSignedType(n) { - // see https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/wire_format_lite.h#L857-L876 - // however, this is a simpler equivalent formula - const isEven = JSBI.equal(JSBI.bitwiseAnd(n, JSBI.BigInt(1)), JSBI.BigInt(0)); - if (isEven) { - return JSBI.divide(n, JSBI.BigInt(2)); - } else { - return JSBI.multiply( - JSBI.BigInt(-1), - JSBI.divide(JSBI.add(n, JSBI.BigInt(1)), JSBI.BigInt(2)) - ); - } -} - -export function interpretAsTwosComplement(n, bits) { - const isTwosComplement = JSBI.equal( - JSBI.signedRightShift(n, JSBI.BigInt(bits - 1)), - JSBI.BigInt(1) - ); - if (isTwosComplement) { - return JSBI.subtract(n, JSBI.leftShift(JSBI.BigInt(1), JSBI.BigInt(bits))); - } else { - return n; - } -} diff --git a/lib/protobuf-decoder/protobufDecoder.js b/lib/protobuf-decoder/protobufDecoder.js index 558f1cb..f99a573 100644 --- a/lib/protobuf-decoder/protobufDecoder.js +++ b/lib/protobuf-decoder/protobufDecoder.js @@ -72,7 +72,6 @@ export const TYPES = { export function decodeProto(buffer) { const reader = new BufferReader(buffer); const parts = []; - reader.trySkipGrpcHeader(); try { @@ -108,6 +107,7 @@ export function decodeProto(buffer) { } } catch (err) { reader.resetToCheckpoint(); + console.log(err); } return { diff --git a/lib/protobuf-decoder/varintUtils.js b/lib/protobuf-decoder/varintUtils.js index ceae6f5..fbd69a2 100644 --- a/lib/protobuf-decoder/varintUtils.js +++ b/lib/protobuf-decoder/varintUtils.js @@ -1,6 +1,5 @@ -"use bigint" export function decodeVarint(buffer, offset) { - let res = BigInt(0); + let res = this.BigInt(0); let shift = 0; let byte = 0; @@ -10,11 +9,12 @@ export function decodeVarint(buffer, offset) { } byte = buffer[offset++]; + console.log(this) - const multiplier = exponentiate(BigInt(2), BigInt(shift)); - const thisByteValue = multiply(BigInt(byte & 0x7f), multiplier); + const multiplier = this.BigInt(2) ** this.BigInt(shift); + const thisByteValue = this.BigInt(byte & 0x7f) * multiplier; shift += 7; - res = add(res, thisByteValue); + res = res + thisByteValue; } while (byte >= 0x80); return { diff --git a/setting/index.js b/setting/index.js index d9276b2..e73daf1 100644 --- a/setting/index.js +++ b/setting/index.js @@ -5,7 +5,6 @@ let _props = null; AppSettingsPage({ build(props) { _props = props; - const storage = JSON.parse( props.settingsStorage.getItem("TOTPs") ?? "[]" ); diff --git a/setting/utils/queryParser.js b/setting/utils/queryParser.js index 2bd7953..9bb52f0 100644 --- a/setting/utils/queryParser.js +++ b/setting/utils/queryParser.js @@ -62,11 +62,12 @@ function getByOtpauthScheme(link){ } function getByGoogleMigrationScheme(link){ - console.log("Hello") - let data = link.split("data=")[1]; //Returns secret + + let data = link.split("data=")[1]; //Returns base64 encoded data data = decodeURIComponent(data); console.log(data) let decode = base64decode(data); console.log(decode) - console.log(decodeProto(decode)); + let proto = decodeProto(decode); + console.log(proto); } \ No newline at end of file