@private.me/xbind 1.2.17 → 1.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +97 -7
  2. package/dist-standalone/_deps/crypto/base64.js +212 -87
  3. package/dist-standalone/_deps/crypto/cjs/base64.js +653 -91
  4. package/dist-standalone/_deps/crypto/cjs/errors.js +658 -102
  5. package/dist-standalone/_deps/crypto/cjs/hmac.js +468 -66
  6. package/dist-standalone/_deps/crypto/cjs/index.js +848 -82
  7. package/dist-standalone/_deps/crypto/cjs/package.json +1 -0
  8. package/dist-standalone/_deps/crypto/cjs/padding.js +504 -50
  9. package/dist-standalone/_deps/crypto/cjs/share-header.js +369 -65
  10. package/dist-standalone/_deps/crypto/cjs/shares.js +865 -143
  11. package/dist-standalone/_deps/crypto/cjs/tlv.js +1005 -183
  12. package/dist-standalone/_deps/crypto/cjs/uuid.js +437 -55
  13. package/dist-standalone/_deps/crypto/cjs/verify.js +414 -24
  14. package/dist-standalone/_deps/crypto/cjs/xorida.js +888 -186
  15. package/dist-standalone/_deps/crypto/errors.js +179 -89
  16. package/dist-standalone/_deps/crypto/hmac.js +129 -61
  17. package/dist-standalone/_deps/crypto/index.js +140 -40
  18. package/dist-standalone/_deps/crypto/padding.js +151 -45
  19. package/dist-standalone/_deps/crypto/share-header.js +89 -60
  20. package/dist-standalone/_deps/crypto/shares.js +280 -133
  21. package/dist-standalone/_deps/crypto/tlv.js +348 -179
  22. package/dist-standalone/_deps/crypto/uuid.js +130 -50
  23. package/dist-standalone/_deps/crypto/verify.js +71 -15
  24. package/dist-standalone/_deps/crypto/xorida.js +332 -181
  25. package/dist-standalone/_deps/shared/cjs/errors.js +582 -525
  26. package/dist-standalone/_deps/shared/cjs/index.js +413 -409
  27. package/dist-standalone/_deps/shared/cjs/types.js +262 -348
  28. package/dist-standalone/_deps/shared/errors.d.ts +7 -1
  29. package/dist-standalone/_deps/shared/errors.d.ts.map +1 -1
  30. package/dist-standalone/_deps/shared/errors.js +229 -166
  31. package/dist-standalone/_deps/shared/errors.js.map +1 -1
  32. package/dist-standalone/_deps/shared/index.js +50 -54
  33. package/dist-standalone/_deps/shared/types.js +61 -60
  34. package/dist-standalone/_deps/ux-helpers/cjs/errors.js +1 -1
  35. package/dist-standalone/_deps/ux-helpers/cjs/pagination.js +1 -1
  36. package/dist-standalone/_deps/ux-helpers/cjs/progress.js +1 -1
  37. package/dist-standalone/_deps/ux-helpers/cjs/search.js +1 -1
  38. package/dist-standalone/_deps/ux-helpers/errors.js +1 -1
  39. package/dist-standalone/_deps/ux-helpers/pagination.js +1 -1
  40. package/dist-standalone/_deps/ux-helpers/progress.js +1 -1
  41. package/dist-standalone/_deps/ux-helpers/search.js +1 -1
  42. package/dist-standalone/_deps/xchange/auto-accept.js +1 -1
  43. package/dist-standalone/_deps/xchange/cjs/auto-accept.js +1 -1
  44. package/dist-standalone/_deps/xchange/cjs/errors.js +1 -1
  45. package/dist-standalone/_deps/xchange/cjs/index.js +1 -1
  46. package/dist-standalone/_deps/xchange/cjs/invite-client.js +1 -1
  47. package/dist-standalone/_deps/xchange/cjs/lazy-init.js +1 -1
  48. package/dist-standalone/_deps/xchange/cjs/trust-integration.js +1 -1
  49. package/dist-standalone/_deps/xchange/cjs/xchange.js +1 -1
  50. package/dist-standalone/_deps/xchange/errors.js +1 -1
  51. package/dist-standalone/_deps/xchange/index.js +1 -1
  52. package/dist-standalone/_deps/xchange/invite-client.js +1 -1
  53. package/dist-standalone/_deps/xchange/lazy-init.js +1 -1
  54. package/dist-standalone/_deps/xchange/trust-integration.js +1 -1
  55. package/dist-standalone/_deps/xchange/xchange.js +1 -1
  56. package/dist-standalone/_deps/xregistry/cjs/discovery.js +1 -1
  57. package/dist-standalone/_deps/xregistry/cjs/errors.js +1 -1
  58. package/dist-standalone/_deps/xregistry/cjs/index.js +1 -1
  59. package/dist-standalone/_deps/xregistry/cjs/registry.js +1 -1
  60. package/dist-standalone/_deps/xregistry/cjs/schema.js +1 -1
  61. package/dist-standalone/_deps/xregistry/cjs/types.js +1 -1
  62. package/dist-standalone/_deps/xregistry/discovery.js +1 -1
  63. package/dist-standalone/_deps/xregistry/errors.js +1 -1
  64. package/dist-standalone/_deps/xregistry/index.js +1 -1
  65. package/dist-standalone/_deps/xregistry/registry.js +1 -1
  66. package/dist-standalone/_deps/xregistry/schema.js +1 -1
  67. package/dist-standalone/_deps/xregistry/types.js +1 -1
  68. package/dist-standalone/cjs/identity.js +2 -3
  69. package/dist-standalone/cli/setup.d.ts +52 -0
  70. package/dist-standalone/cli/setup.js +515 -0
  71. package/dist-standalone/cli/types.d.ts +79 -0
  72. package/dist-standalone/cli/types.js +27 -0
  73. package/dist-standalone/cli/xbind.d.ts +20 -0
  74. package/dist-standalone/cli/xbind.js +149 -0
  75. package/dist-standalone/identity.js +2 -3
  76. package/package.json +3 -2
  77. package/share1.dat +0 -0
@@ -1,45 +1,145 @@
1
- // @private.me/crypto public API
2
- // Errors
1
+ (function (_0x4c7843, _0x46a5dc) {
2
+ var a14_0x22b02e = {
3
+ _0x3c474c: 0x188,
4
+ _0x377d28: 0x185,
5
+ _0x25e2fe: 0x190,
6
+ _0x4ce54c: 0x191
7
+ }, _0x2995eb = a14_0x5571, _0x1e7040 = _0x4c7843();
8
+ while (!![]) {
9
+ try {
10
+ var _0x4c3963 = parseInt(_0x2995eb(a14_0x22b02e._0x3c474c)) / 0x1 + parseInt(_0x2995eb(0x17d)) / 0x2 * (-parseInt(_0x2995eb(0x187)) / 0x3) + parseInt(_0x2995eb(a14_0x22b02e._0x377d28)) / 0x4 * (-parseInt(_0x2995eb(0x180)) / 0x5) + -parseInt(_0x2995eb(a14_0x22b02e._0x25e2fe)) / 0x6 * (parseInt(_0x2995eb(0x189)) / 0x7) + -parseInt(_0x2995eb(a14_0x22b02e._0x4ce54c)) / 0x8 + -parseInt(_0x2995eb(0x18f)) / 0x9 + parseInt(_0x2995eb(0x18d)) / 0xa;
11
+ if (_0x4c3963 === _0x46a5dc)
12
+ break;
13
+ else
14
+ _0x1e7040['push'](_0x1e7040['shift']());
15
+ } catch (_0x22da6e) {
16
+ _0x1e7040['push'](_0x1e7040['shift']());
17
+ }
18
+ }
19
+ }(a14_0x2127, 0xd27cd));
3
20
  export * from './errors.js';
4
- // XorIDA Threshold Sharing
5
- export { splitXorIDA, reconstructXorIDA, nextOddPrime } from './xorida.js';
6
- // Padding
7
- export { pkcs7Pad, pkcs7Unpad } from './padding.js';
8
- // Integrity
9
- export { generateHMAC, verifyHMAC, signHMAC } from './hmac.js';
10
- // Serialization
11
- export { serializeMessage, deserializeMessage } from './tlv.js';
12
- // UUID
13
- export { generateUUID, uuidToBytes, bytesToUuid } from './uuid.js';
14
- // Base64
15
- export { toBase64, fromBase64, toBase64Url, fromBase64Url } from './base64.js';
16
- // High-level API
17
- export { createShares, reconstructMessage } from './shares.js';
18
- // Branded Share Header (IDA5 copyright layer)
19
- export { formatShareHeader, parseShareHeader, hasShareHeader } from './share-header.js';
20
- // Capability check
21
- /**
22
- * Check if the runtime supports the required Web Crypto APIs.
23
- *
24
- * Verifies that `crypto.subtle` is available with HMAC, AES-GCM,
25
- * and `crypto.getRandomValues`. Call this before using any crypto
26
- * operations to provide a clear error message on unsupported runtimes.
27
- *
28
- * @returns `true` if the runtime has the required Web Crypto APIs.
29
- */
21
+ export {
22
+ splitXorIDA,
23
+ reconstructXorIDA,
24
+ nextOddPrime
25
+ } from './xorida.js';
26
+ function a14_0x5571(_0x4876bb, _0x31e512) {
27
+ _0x4876bb = _0x4876bb - 0x17d;
28
+ var _0x2127a2 = a14_0x2127();
29
+ var _0x5571fe = _0x2127a2[_0x4876bb];
30
+ if (a14_0x5571['BnCYOE'] === undefined) {
31
+ var _0x4146db = function (_0x31aa5a) {
32
+ var _0x4bd38a = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';
33
+ var _0x510aa4 = '', _0x4e7687 = '';
34
+ for (var _0x6543b3 = 0x0, _0x3ce4ff, _0x38c98e, _0x34723e = 0x0; _0x38c98e = _0x31aa5a['charAt'](_0x34723e++); ~_0x38c98e && (_0x3ce4ff = _0x6543b3 % 0x4 ? _0x3ce4ff * 0x40 + _0x38c98e : _0x38c98e, _0x6543b3++ % 0x4) ? _0x510aa4 += String['fromCharCode'](0xff & _0x3ce4ff >> (-0x2 * _0x6543b3 & 0x6)) : 0x0) {
35
+ _0x38c98e = _0x4bd38a['indexOf'](_0x38c98e);
36
+ }
37
+ for (var _0x5de9f5 = 0x0, _0x4886cb = _0x510aa4['length']; _0x5de9f5 < _0x4886cb; _0x5de9f5++) {
38
+ _0x4e7687 += '%' + ('00' + _0x510aa4['charCodeAt'](_0x5de9f5)['toString'](0x10))['slice'](-0x2);
39
+ }
40
+ return decodeURIComponent(_0x4e7687);
41
+ };
42
+ a14_0x5571['RaCtgR'] = _0x4146db, a14_0x5571['vMywxF'] = {}, a14_0x5571['BnCYOE'] = !![];
43
+ }
44
+ var _0x534cf1 = _0x2127a2[0x0], _0x49dbe8 = _0x4876bb + _0x534cf1, _0x31134b = a14_0x5571['vMywxF'][_0x49dbe8];
45
+ return !_0x31134b ? (_0x5571fe = a14_0x5571['RaCtgR'](_0x5571fe), a14_0x5571['vMywxF'][_0x49dbe8] = _0x5571fe) : _0x5571fe = _0x31134b, _0x5571fe;
46
+ }
47
+ export {
48
+ pkcs7Pad,
49
+ pkcs7Unpad
50
+ } from './padding.js';
51
+ export {
52
+ generateHMAC,
53
+ verifyHMAC,
54
+ signHMAC
55
+ } from './hmac.js';
56
+ function a14_0x2127() {
57
+ var _0x334b09 = [
58
+ 'mZCXntK1mKzvDLLHAW',
59
+ 'r2DwsNO',
60
+ 'ntiZmJm2vK52D0fP',
61
+ 'y3j5ChrV',
62
+ 'DMvYAwz5',
63
+ 'mtCXndv0s2rKwMC',
64
+ 'suDHquS',
65
+ 'Dw5KzwzPBMvK',
66
+ 'z292sfe',
67
+ 'zw5JCNLWDa',
68
+ 'mtuYnhPXrfLQDW',
69
+ 'C2LNBG',
70
+ 'm3jOv2LRva',
71
+ 'nJK4mZqYv0Dcsejv',
72
+ 'ody0nwjkwvr3zW',
73
+ 'C3vIDgXL',
74
+ 'Aw1WB3j0s2v5',
75
+ 'z2v0uMfUzg9TvMfSDwvZ',
76
+ 'mJmZotm0mZbkDgPSv2m',
77
+ 'zNvUy3rPB24',
78
+ 'nJC1mZC4y09xALDv',
79
+ 'mZmWA2DUAgv5'
80
+ ];
81
+ a14_0x2127 = function () {
82
+ return _0x334b09;
83
+ };
84
+ return a14_0x2127();
85
+ }
86
+ export {
87
+ serializeMessage,
88
+ deserializeMessage
89
+ } from './tlv.js';
90
+ export {
91
+ generateUUID,
92
+ uuidToBytes,
93
+ bytesToUuid
94
+ } from './uuid.js';
95
+ export {
96
+ toBase64,
97
+ fromBase64,
98
+ toBase64Url,
99
+ fromBase64Url
100
+ } from './base64.js';
101
+ export {
102
+ createShares,
103
+ reconstructMessage
104
+ } from './shares.js';
105
+ export {
106
+ formatShareHeader,
107
+ parseShareHeader,
108
+ hasShareHeader
109
+ } from './share-header.js';
30
110
  export function isSupported() {
111
+ var a14_0x362d50 = {
112
+ _0x82f70e: 0x18e,
113
+ _0x42d61d: 0x182,
114
+ _0xc979ce: 0x17e,
115
+ _0x5b06d7: 0x18a,
116
+ _0x2c2498: 0x18b,
117
+ _0x212428: 0x192,
118
+ _0x1a04fd: 0x186,
119
+ _0x1a2977: 0x183,
120
+ _0x3faae8: 0x18a,
121
+ _0x4f16ea: 0x18e
122
+ }, _0x36062c = a14_0x5571, _0x3ecd63 = {
123
+ 'btAPd': function (_0x230743, _0x225465) {
124
+ return _0x230743 !== _0x225465;
125
+ },
126
+ 'IGaAK': _0x36062c(a14_0x362d50._0x82f70e),
127
+ 'GgVJz': function (_0xafb171, _0x403c54) {
128
+ return _0xafb171 === _0x403c54;
129
+ },
130
+ 'govHQ': function (_0xa3307e, _0x491fe2) {
131
+ return _0xa3307e === _0x491fe2;
132
+ },
133
+ 'nNEuG': function (_0x2c260d, _0x438783) {
134
+ return _0x2c260d === _0x438783;
135
+ }
136
+ };
31
137
  try {
32
- return (typeof globalThis.crypto !== 'undefined' &&
33
- typeof globalThis.crypto.subtle !== 'undefined' &&
34
- typeof globalThis.crypto.subtle.importKey === 'function' &&
35
- typeof globalThis.crypto.subtle.sign === 'function' &&
36
- typeof globalThis.crypto.subtle.verify === 'function' &&
37
- typeof globalThis.crypto.subtle.encrypt === 'function' &&
38
- typeof globalThis.crypto.getRandomValues === 'function');
39
- }
40
- catch {
41
- return false;
138
+ return _0x3ecd63['btAPd'](typeof globalThis[_0x36062c(0x17e)], _0x36062c(a14_0x362d50._0x42d61d)) && typeof globalThis['crypto']['subtle'] !== 'undefined' && typeof globalThis[_0x36062c(a14_0x362d50._0xc979ce)][_0x36062c(a14_0x362d50._0x5b06d7)][_0x36062c(a14_0x362d50._0x2c2498)] === _0x3ecd63[_0x36062c(0x181)] && _0x3ecd63[_0x36062c(a14_0x362d50._0x212428)](typeof globalThis[_0x36062c(0x17e)][_0x36062c(0x18a)][_0x36062c(a14_0x362d50._0x1a04fd)], _0x36062c(a14_0x362d50._0x82f70e)) && _0x3ecd63[_0x36062c(a14_0x362d50._0x1a2977)](typeof globalThis['crypto'][_0x36062c(a14_0x362d50._0x5b06d7)][_0x36062c(0x17f)], 'function') && _0x3ecd63['nNEuG'](typeof globalThis['crypto'][_0x36062c(a14_0x362d50._0x3faae8)][_0x36062c(0x184)], _0x36062c(a14_0x362d50._0x4f16ea)) && typeof globalThis['crypto'][_0x36062c(0x18c)] === _0x36062c(a14_0x362d50._0x4f16ea);
139
+ } catch {
140
+ return ![];
42
141
  }
43
142
  }
44
- // Re-export for testing (internal, not part of public API contract)
45
- export { splitWithRandom } from './xorida.js';
143
+ export {
144
+ splitWithRandom
145
+ } from './xorida.js';
@@ -1,53 +1,159 @@
1
- import { ok, err } from"../shared/index.js";
2
- /**
3
- * PKCS#7 pad data to a multiple of blockSize bytes.
4
- * Always adds at least 1 byte of padding, even when already aligned.
5
- *
6
- * @param data - Input bytes to pad
7
- * @param blockSize - Block size in bytes (must be 1–255)
8
- * @returns Padded byte array
9
- */
10
- export function pkcs7Pad(data, blockSize) {
11
- const padLen = blockSize - (data.length % blockSize);
12
- const padded = new Uint8Array(data.length + padLen);
13
- padded.set(data);
14
- for (let i = data.length; i < padded.length; i++) {
15
- padded[i] = padLen;
1
+ (function (_0x5d198c, _0x2f5094) {
2
+ const a15_0x175362 = {
3
+ _0x5f4b84: 0x7d,
4
+ _0x183ea1: 0x91,
5
+ _0x5d2c40: 0x7e
6
+ }, _0x24c48d = a15_0x15c3, _0xc40c8f = _0x5d198c();
7
+ while (!![]) {
8
+ try {
9
+ const _0x43af0a = -parseInt(_0x24c48d(0x89)) / 0x1 * (-parseInt(_0x24c48d(0x8a)) / 0x2) + -parseInt(_0x24c48d(0x81)) / 0x3 + -parseInt(_0x24c48d(a15_0x175362._0x5f4b84)) / 0x4 * (-parseInt(_0x24c48d(a15_0x175362._0x183ea1)) / 0x5) + -parseInt(_0x24c48d(0x7f)) / 0x6 + parseInt(_0x24c48d(0x8d)) / 0x7 + parseInt(_0x24c48d(0x7a)) / 0x8 + -parseInt(_0x24c48d(a15_0x175362._0x5d2c40)) / 0x9;
10
+ if (_0x43af0a === _0x2f5094)
11
+ break;
12
+ else
13
+ _0xc40c8f['push'](_0xc40c8f['shift']());
14
+ } catch (_0x5f5997) {
15
+ _0xc40c8f['push'](_0xc40c8f['shift']());
16
+ }
16
17
  }
17
- return padded;
18
+ }(a15_0x1417, 0x55ba8));
19
+ function a15_0x1417() {
20
+ const _0x368909 = [
21
+ 'BgvUz3rO',
22
+ 'C2v0',
23
+ 'C2XPy2u',
24
+ 'yMvfzu0',
25
+ 'AuDfD2e',
26
+ 'sw5WDxqGBgvUz3rOigLZig5VDcbHig11BhrPCgXLig9MigjSB2nRihnPEMu',
27
+ 'sw52ywXPzcbWywrKAw5NihzHBhvLoIa',
28
+ 'mty0mJuXwffXsu1i',
29
+ 'mLjHsKnNwa',
30
+ 'EhLyELC',
31
+ 'z2vjq0u',
32
+ 'mZy1mZq0mgn4EgfgBW',
33
+ 'EK51Axu',
34
+ 'te1otw0',
35
+ 'su5wquXjrf9qquresu5h',
36
+ 'ntbrrenODwi',
37
+ 'Auv4ree',
38
+ 'Cu1MEKG',
39
+ 'tgLJvM8',
40
+ 'ndK4mdeYme5sExvQDa',
41
+ 'ALbuquO',
42
+ 'sw5WDxqGAxmGzw1WDhK',
43
+ 'mZCZntzmuxvUwhK',
44
+ 'mJmXnZKXnfPRveTcwG',
45
+ 'mJK5nJeYngfSsKjmDq',
46
+ 'Dw12EKG',
47
+ 'odGYmdK2AxzouxDi'
48
+ ];
49
+ a15_0x1417 = function () {
50
+ return _0x368909;
51
+ };
52
+ return a15_0x1417();
18
53
  }
19
- /**
20
- * Remove PKCS#7 padding. Validates that padding bytes are consistent.
21
- * Returns an error if padding is invalid (possible tampering).
22
- *
23
- * @param data - Padded byte array
24
- * @param blockSize - Block size used during padding (must be 1–255)
25
- * @returns Unpadded bytes, or PaddingError if invalid
26
- */
27
- export function pkcs7Unpad(data, blockSize) {
28
- if (data.length === 0) {
29
- return err({ code: 'INVALID_PADDING', message: 'Input is empty' });
54
+ import {
55
+ ok,
56
+ err
57
+ } from"../shared/index.js";
58
+ function a15_0x15c3(_0xa3877a, _0xbfc628) {
59
+ _0xa3877a = _0xa3877a - 0x7a;
60
+ const _0x141737 = a15_0x1417();
61
+ let _0x15c315 = _0x141737[_0xa3877a];
62
+ if (a15_0x15c3['VTcsPq'] === undefined) {
63
+ var _0x4c0a07 = function (_0x44c586) {
64
+ const _0xcc6f72 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';
65
+ let _0x157f68 = '', _0x4b3b8c = '';
66
+ for (let _0x37b322 = 0x0, _0xc1b253, _0x29c0b1, _0x363e53 = 0x0; _0x29c0b1 = _0x44c586['charAt'](_0x363e53++); ~_0x29c0b1 && (_0xc1b253 = _0x37b322 % 0x4 ? _0xc1b253 * 0x40 + _0x29c0b1 : _0x29c0b1, _0x37b322++ % 0x4) ? _0x157f68 += String['fromCharCode'](0xff & _0xc1b253 >> (-0x2 * _0x37b322 & 0x6)) : 0x0) {
67
+ _0x29c0b1 = _0xcc6f72['indexOf'](_0x29c0b1);
68
+ }
69
+ for (let _0x5bd8d6 = 0x0, _0x592bdd = _0x157f68['length']; _0x5bd8d6 < _0x592bdd; _0x5bd8d6++) {
70
+ _0x4b3b8c += '%' + ('00' + _0x157f68['charCodeAt'](_0x5bd8d6)['toString'](0x10))['slice'](-0x2);
71
+ }
72
+ return decodeURIComponent(_0x4b3b8c);
73
+ };
74
+ a15_0x15c3['ciBkJS'] = _0x4c0a07, a15_0x15c3['eLfSFH'] = {}, a15_0x15c3['VTcsPq'] = !![];
30
75
  }
31
- if (data.length % blockSize !== 0) {
32
- return err({
33
- code: 'INVALID_PADDING',
34
- message: 'Input length is not a multiple of block size',
35
- });
76
+ const _0x2916c8 = _0x141737[0x0], _0x5f2871 = _0xa3877a + _0x2916c8, _0x505439 = a15_0x15c3['eLfSFH'][_0x5f2871];
77
+ return !_0x505439 ? (_0x15c315 = a15_0x15c3['ciBkJS'](_0x15c315), a15_0x15c3['eLfSFH'][_0x5f2871] = _0x15c315) : _0x15c315 = _0x505439, _0x15c315;
78
+ }
79
+ export function pkcs7Pad(_0x2f1a7f, _0x7f175d) {
80
+ const a15_0x414826 = {
81
+ _0x229bc2: 0x85,
82
+ _0x16fd15: 0x82,
83
+ _0x331145: 0x83,
84
+ _0x3e5d95: 0x82
85
+ }, _0x322b3c = a15_0x15c3, _0x13cea8 = {
86
+ 'beEeM': function (_0x1528e9, _0x1e7296) {
87
+ return _0x1528e9 - _0x1e7296;
88
+ },
89
+ 'LMNMm': function (_0x281394, _0x574c31) {
90
+ return _0x281394 < _0x574c31;
91
+ }
92
+ }, _0x36dc11 = _0x13cea8[_0x322b3c(a15_0x414826._0x229bc2)](_0x7f175d, _0x2f1a7f[_0x322b3c(a15_0x414826._0x16fd15)] % _0x7f175d), _0x26444a = new Uint8Array(_0x2f1a7f[_0x322b3c(a15_0x414826._0x16fd15)] + _0x36dc11);
93
+ _0x26444a[_0x322b3c(a15_0x414826._0x331145)](_0x2f1a7f);
94
+ for (let _0x4b8c25 = _0x2f1a7f['length']; _0x13cea8[_0x322b3c(0x8f)](_0x4b8c25, _0x26444a[_0x322b3c(a15_0x414826._0x3e5d95)]); _0x4b8c25++) {
95
+ _0x26444a[_0x4b8c25] = _0x36dc11;
36
96
  }
37
- const padLen = data[data.length - 1];
38
- if (padLen === undefined || padLen < 1 || padLen > blockSize) {
39
- return err({
40
- code: 'INVALID_PADDING',
41
- message: `Invalid padding value: ${padLen}`,
97
+ return _0x26444a;
98
+ }
99
+ export function pkcs7Unpad(_0x191816, _0xacaf17) {
100
+ const a15_0x4252ad = {
101
+ _0x42c045: 0x90,
102
+ _0x564a4f: 0x90,
103
+ _0x5afd8e: 0x7b,
104
+ _0x5e8aae: 0x82,
105
+ _0x2fc6f2: 0x8e,
106
+ _0x5828bb: 0x82,
107
+ _0x1ba374: 0x93,
108
+ _0x3fbf77: 0x94,
109
+ _0x559509: 0x92,
110
+ _0x5328cd: 0x8c
111
+ }, _0xdcb468 = a15_0x15c3, _0x49a489 = {
112
+ 'qMfzH': function (_0x450f5b, _0x4e4740) {
113
+ return _0x450f5b(_0x4e4740);
114
+ },
115
+ 'iGEwa': _0xdcb468(0x7c),
116
+ 'jPTAJ': function (_0x1a1695, _0x473aa0) {
117
+ return _0x1a1695 % _0x473aa0;
118
+ },
119
+ 'xyXzW': function (_0x2945d0, _0x2bd15c) {
120
+ return _0x2945d0(_0x2bd15c);
121
+ },
122
+ 'ifCQN': _0xdcb468(a15_0x4252ad._0x42c045),
123
+ 'zNuiu': _0xdcb468(0x87),
124
+ 'umvzH': function (_0x3a2828, _0x55b409) {
125
+ return _0x3a2828 > _0x55b409;
126
+ },
127
+ 'LicVo': function (_0x2c8f7b, _0x32c9e2) {
128
+ return _0x2c8f7b - _0x32c9e2;
129
+ },
130
+ 'iExDA': function (_0x408959, _0x19eb68) {
131
+ return _0x408959 < _0x19eb68;
132
+ },
133
+ 'geICE': 'Inconsistent\x20padding\x20bytes'
134
+ };
135
+ if (_0x191816[_0xdcb468(0x82)] === 0x0)
136
+ return _0x49a489[_0xdcb468(0x93)](err, {
137
+ 'code': _0xdcb468(a15_0x4252ad._0x564a4f),
138
+ 'message': _0x49a489[_0xdcb468(0x86)]
42
139
  });
43
- }
44
- for (let i = data.length - padLen; i < data.length; i++) {
45
- if (data[i] !== padLen) {
140
+ if (_0x49a489[_0xdcb468(a15_0x4252ad._0x5afd8e)](_0x191816[_0xdcb468(a15_0x4252ad._0x5e8aae)], _0xacaf17) !== 0x0)
141
+ return _0x49a489[_0xdcb468(0x8b)](err, {
142
+ 'code': _0x49a489['ifCQN'],
143
+ 'message': _0x49a489[_0xdcb468(a15_0x4252ad._0x2fc6f2)]
144
+ });
145
+ const _0x3bbbde = _0x191816[_0x191816[_0xdcb468(a15_0x4252ad._0x5828bb)] - 0x1];
146
+ if (_0x3bbbde === undefined || _0x3bbbde < 0x1 || _0x49a489[_0xdcb468(0x80)](_0x3bbbde, _0xacaf17))
147
+ return _0x49a489[_0xdcb468(a15_0x4252ad._0x1ba374)](err, {
148
+ 'code': 'INVALID_PADDING',
149
+ 'message': _0xdcb468(0x88) + _0x3bbbde
150
+ });
151
+ for (let _0x3e2ac7 = _0x49a489[_0xdcb468(a15_0x4252ad._0x3fbf77)](_0x191816['length'], _0x3bbbde); _0x49a489[_0xdcb468(a15_0x4252ad._0x559509)](_0x3e2ac7, _0x191816[_0xdcb468(0x82)]); _0x3e2ac7++) {
152
+ if (_0x191816[_0x3e2ac7] !== _0x3bbbde)
46
153
  return err({
47
- code: 'INVALID_PADDING',
48
- message: 'Inconsistent padding bytes',
154
+ 'code': _0xdcb468(0x90),
155
+ 'message': _0x49a489[_0xdcb468(a15_0x4252ad._0x5328cd)]
49
156
  });
50
- }
51
157
  }
52
- return ok(data.slice(0, data.length - padLen));
53
- }
158
+ return ok(_0x191816[_0xdcb468(0x84)](0x0, _0x191816[_0xdcb468(a15_0x4252ad._0x5828bb)] - _0x3bbbde));
159
+ }
@@ -1,63 +1,92 @@
1
- /**
2
- * Branded share header — IDA5 copyright layer.
3
- *
4
- * Wraps every XorIDA share output with the patent-locked branded string:
5
- *
6
- * Xecret (TM) -> PRIVATE .ME (R) -> IDA5 -> Encrypted:// [data] => Generated by Xecret (TM)
7
- *
8
- * This provides triple legal protection on every share artifact:
9
- * - Patent (20 years): XorIDA algorithm and split-channel architecture
10
- * - Copyright (95 years): the literal branded header expression
11
- * - Trademark (indefinite): Xecret(TM) and PRIVATE .ME(R) marks
12
- *
13
- * NEVER modify the header format. It is patent-locked.
14
- */
15
- /** Start marker for the branded share data region. */
16
- const START_MARKER = 'Encrypted://';
17
- /** End marker for the branded share data region. */
18
- const END_MARKER = '=> Generated by Xecret (TM)';
19
- /** Branded prefix before the start marker. */
20
- const BRAND_PREFIX = 'Xecret (TM) -> PRIVATE .ME (R) -> IDA5 -> ';
21
- /**
22
- * Wrap share data with the branded IDA5 copyright header.
23
- *
24
- * Output format (patent-locked, NEVER change):
25
- * Xecret (TM) -> PRIVATE .ME (R) -> IDA5 -> Encrypted:// [data] => Generated by Xecret (TM)
26
- *
27
- * @param data - Base64-encoded share data (or any string payload)
28
- * @returns Branded string with copyright header wrapping the data
29
- */
30
- export function formatShareHeader(data) {
31
- return `${BRAND_PREFIX}${START_MARKER} ${data} ${END_MARKER}`;
1
+ function a16_0x5139(_0x40c6da, _0x1409ab) {
2
+ _0x40c6da = _0x40c6da - 0x17e;
3
+ const _0x226aa3 = a16_0x226a();
4
+ let _0x51390c = _0x226aa3[_0x40c6da];
5
+ if (a16_0x5139['AmtZQJ'] === undefined) {
6
+ var _0x320e15 = function (_0x4de224) {
7
+ const _0x523752 = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';
8
+ let _0x340a16 = '', _0x1e436f = '';
9
+ for (let _0x25bf0c = 0x0, _0xee4988, _0x1d17fd, _0x170a4e = 0x0; _0x1d17fd = _0x4de224['charAt'](_0x170a4e++); ~_0x1d17fd && (_0xee4988 = _0x25bf0c % 0x4 ? _0xee4988 * 0x40 + _0x1d17fd : _0x1d17fd, _0x25bf0c++ % 0x4) ? _0x340a16 += String['fromCharCode'](0xff & _0xee4988 >> (-0x2 * _0x25bf0c & 0x6)) : 0x0) {
10
+ _0x1d17fd = _0x523752['indexOf'](_0x1d17fd);
11
+ }
12
+ for (let _0x4fe02e = 0x0, _0x5eb019 = _0x340a16['length']; _0x4fe02e < _0x5eb019; _0x4fe02e++) {
13
+ _0x1e436f += '%' + ('00' + _0x340a16['charCodeAt'](_0x4fe02e)['toString'](0x10))['slice'](-0x2);
14
+ }
15
+ return decodeURIComponent(_0x1e436f);
16
+ };
17
+ a16_0x5139['BbIyCj'] = _0x320e15, a16_0x5139['ImIViU'] = {}, a16_0x5139['AmtZQJ'] = !![];
18
+ }
19
+ const _0x20c427 = _0x226aa3[0x0], _0x2f8950 = _0x40c6da + _0x20c427, _0x4bd684 = a16_0x5139['ImIViU'][_0x2f8950];
20
+ return !_0x4bd684 ? (_0x51390c = a16_0x5139['BbIyCj'](_0x51390c), a16_0x5139['ImIViU'][_0x2f8950] = _0x51390c) : _0x51390c = _0x4bd684, _0x51390c;
32
21
  }
33
- /**
34
- * Extract share data from a branded IDA5 header string.
35
- *
36
- * Backward-compatible: if the branded markers are not found, returns
37
- * the input string trimmed (handles legacy headerless shares).
38
- *
39
- * @param input - Branded share string or legacy raw data
40
- * @returns Extracted share data with whitespace trimmed
41
- */
42
- export function parseShareHeader(input) {
43
- const startIdx = input.indexOf(START_MARKER);
44
- if (startIdx < 0)
45
- return input.trim();
46
- const dataStart = startIdx + START_MARKER.length;
47
- const endIdx = input.indexOf(END_MARKER, dataStart);
48
- if (endIdx < 0)
49
- return input.trim();
50
- return input.substring(dataStart, endIdx).trim();
22
+ function a16_0x226a() {
23
+ const _0x48f135 = [
24
+ 'mtrcve5hrLq',
25
+ 'DhjPBq',
26
+ 'nhnwD3rVCG',
27
+ 'mte2mdG3mePmAhfTzq',
28
+ 'mJC5mJm3CwL0AfnZ',
29
+ 'ota1otu4BKnHywfJ',
30
+ 'mK12wgnqBq',
31
+ 'Aw5JBhvKzxm',
32
+ 'D3PdELe',
33
+ 'pt4Gr2vUzxjHDgvKigj5ifHLy3jLDcaOve0P',
34
+ 'nJq0mJyWmgrRs2HfDa',
35
+ 'BgvUz3rO',
36
+ 'Aw5KzxHpzG',
37
+ 'nde3mdm2ruDdAeLX',
38
+ 'mtG1nteXB1PNB0LL',
39
+ 'mtG0ntKYCevOquzg'
40
+ ];
41
+ a16_0x226a = function () {
42
+ return _0x48f135;
43
+ };
44
+ return a16_0x226a();
51
45
  }
52
- /**
53
- * Check whether a string contains the branded IDA5 share header.
54
- *
55
- * Useful for format detection — distinguishing branded shares from
56
- * legacy raw base64 shares.
57
- *
58
- * @param input - String to check
59
- * @returns true if the branded markers are present
60
- */
61
- export function hasShareHeader(input) {
62
- return input.includes(START_MARKER) && input.includes(END_MARKER);
46
+ const a16_0x491c11 = a16_0x5139;
47
+ (function (_0x415a98, _0x4d924d) {
48
+ const a16_0x1ac394 = {
49
+ _0x624c38: 0x17f,
50
+ _0x1e2ab3: 0x184,
51
+ _0x4cbf43: 0x17e,
52
+ _0x215cc9: 0x181,
53
+ _0x21d3e0: 0x18b
54
+ }, _0x417f34 = a16_0x5139, _0x415a7c = _0x415a98();
55
+ while (!![]) {
56
+ try {
57
+ const _0x3e67c7 = parseInt(_0x417f34(a16_0x1ac394._0x624c38)) / 0x1 * (-parseInt(_0x417f34(0x187)) / 0x2) + parseInt(_0x417f34(0x185)) / 0x3 * (-parseInt(_0x417f34(0x183)) / 0x4) + -parseInt(_0x417f34(a16_0x1ac394._0x1e2ab3)) / 0x5 + -parseInt(_0x417f34(a16_0x1ac394._0x4cbf43)) / 0x6 * (parseInt(_0x417f34(a16_0x1ac394._0x215cc9)) / 0x7) + parseInt(_0x417f34(0x180)) / 0x8 + parseInt(_0x417f34(0x186)) / 0x9 + parseInt(_0x417f34(a16_0x1ac394._0x21d3e0)) / 0xa;
58
+ if (_0x3e67c7 === _0x4d924d)
59
+ break;
60
+ else
61
+ _0x415a7c['push'](_0x415a7c['shift']());
62
+ } catch (_0x2f1571) {
63
+ _0x415a7c['push'](_0x415a7c['shift']());
64
+ }
65
+ }
66
+ }(a16_0x226a, 0x1cdcc));
67
+ const START_MARKER = 'Encrypted://', END_MARKER = a16_0x491c11(0x18a), BRAND_PREFIX = 'Xecret\x20(TM)\x20->\x20PRIVATE\x20.ME\x20(R)\x20->\x20IDA5\x20->\x20';
68
+ export function formatShareHeader(_0x251ca8) {
69
+ return '' + BRAND_PREFIX + START_MARKER + '\x20' + _0x251ca8 + '\x20' + END_MARKER;
63
70
  }
71
+ export function parseShareHeader(_0x570a4c) {
72
+ const a16_0x1cdbcd = {
73
+ _0x4b26e4: 0x189,
74
+ _0x23c6bf: 0x182,
75
+ _0x3be96e: 0x18c,
76
+ _0x567417: 0x182
77
+ }, _0x2cb62f = a16_0x5139, _0x1fba96 = {
78
+ 'wzCzQ': function (_0xd22881, _0x55765f) {
79
+ return _0xd22881 < _0x55765f;
80
+ }
81
+ }, _0x39890d = _0x570a4c[_0x2cb62f(0x18d)](START_MARKER);
82
+ if (_0x1fba96[_0x2cb62f(a16_0x1cdbcd._0x4b26e4)](_0x39890d, 0x0))
83
+ return _0x570a4c[_0x2cb62f(a16_0x1cdbcd._0x23c6bf)]();
84
+ const _0x3b125f = _0x39890d + START_MARKER[_0x2cb62f(a16_0x1cdbcd._0x3be96e)], _0x559323 = _0x570a4c[_0x2cb62f(0x18d)](END_MARKER, _0x3b125f);
85
+ if (_0x1fba96[_0x2cb62f(0x189)](_0x559323, 0x0))
86
+ return _0x570a4c[_0x2cb62f(a16_0x1cdbcd._0x567417)]();
87
+ return _0x570a4c['substring'](_0x3b125f, _0x559323)['trim']();
88
+ }
89
+ export function hasShareHeader(_0x5bae93) {
90
+ const a16_0x1d5ec8 = { _0x433000: 0x188 }, _0x5ce5c = a16_0x5139;
91
+ return _0x5bae93[_0x5ce5c(a16_0x1d5ec8._0x433000)](START_MARKER) && _0x5bae93['includes'](END_MARKER);
92
+ }