objdiff-wasm 3.0.0-beta.9 → 3.0.1
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.
package/dist/config-schema.json
CHANGED
|
@@ -25,6 +25,20 @@
|
|
|
25
25
|
}
|
|
26
26
|
]
|
|
27
27
|
},
|
|
28
|
+
{
|
|
29
|
+
"id": "analyzeDataFlow",
|
|
30
|
+
"type": "boolean",
|
|
31
|
+
"default": false,
|
|
32
|
+
"name": "(Experimental) Perform data flow analysis",
|
|
33
|
+
"description": "Use data flow analysis to display known information about register contents where possible"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "showDataFlow",
|
|
37
|
+
"type": "boolean",
|
|
38
|
+
"default": true,
|
|
39
|
+
"name": "Show data flow",
|
|
40
|
+
"description": "Show data flow analysis results in place of register name where present"
|
|
41
|
+
},
|
|
28
42
|
{
|
|
29
43
|
"id": "spaceBetweenArgs",
|
|
30
44
|
"type": "boolean",
|
|
@@ -264,7 +278,8 @@
|
|
|
264
278
|
"id": "ppc",
|
|
265
279
|
"name": "PowerPC",
|
|
266
280
|
"properties": [
|
|
267
|
-
"ppc.calculatePoolRelocations"
|
|
281
|
+
"ppc.calculatePoolRelocations",
|
|
282
|
+
"analyzeDataFlow"
|
|
268
283
|
]
|
|
269
284
|
},
|
|
270
285
|
{
|
|
@@ -146,7 +146,7 @@ export interface DiffTextSpacing {
|
|
|
146
146
|
export interface DiffTextEol {
|
|
147
147
|
tag: 'eol',
|
|
148
148
|
}
|
|
149
|
-
export type DiffTextColor = DiffTextColorNormal | DiffTextColorDim | DiffTextColorBright | DiffTextColorReplace | DiffTextColorDelete | DiffTextColorInsert | DiffTextColorRotating;
|
|
149
|
+
export type DiffTextColor = DiffTextColorNormal | DiffTextColorDim | DiffTextColorBright | DiffTextColorReplace | DiffTextColorDataFlow | DiffTextColorDelete | DiffTextColorInsert | DiffTextColorRotating;
|
|
150
150
|
export interface DiffTextColorNormal {
|
|
151
151
|
tag: 'normal',
|
|
152
152
|
}
|
|
@@ -159,6 +159,9 @@ export interface DiffTextColorBright {
|
|
|
159
159
|
export interface DiffTextColorReplace {
|
|
160
160
|
tag: 'replace',
|
|
161
161
|
}
|
|
162
|
+
export interface DiffTextColorDataFlow {
|
|
163
|
+
tag: 'data-flow',
|
|
164
|
+
}
|
|
162
165
|
export interface DiffTextColorDelete {
|
|
163
166
|
tag: 'delete',
|
|
164
167
|
}
|
package/dist/objdiff.core.wasm
CHANGED
|
Binary file
|
package/dist/objdiff.js
CHANGED
|
@@ -76,7 +76,7 @@ function utf8Encode(s, realloc, memory) {
|
|
|
76
76
|
let exports0;
|
|
77
77
|
let exports1;
|
|
78
78
|
let memory0;
|
|
79
|
-
function
|
|
79
|
+
function trampoline4(arg0, arg1, arg2, arg3, arg4) {
|
|
80
80
|
let enum0;
|
|
81
81
|
switch(arg0){
|
|
82
82
|
case 0:
|
|
@@ -139,6 +139,10 @@ const finalizationRegistry1 = finalizationRegistryCreate((handle)=>{
|
|
|
139
139
|
});
|
|
140
140
|
handleTables[1] = handleTable1;
|
|
141
141
|
const trampoline1 = rscTableCreateOwn.bind(null, handleTable1);
|
|
142
|
+
function trampoline2(handle) {
|
|
143
|
+
const handleEntry = rscTableRemove(handleTable0, handle);
|
|
144
|
+
if (handleEntry.own) exports0['3'](handleEntry.rep);
|
|
145
|
+
}
|
|
142
146
|
const handleTable2 = [
|
|
143
147
|
T_FLAG,
|
|
144
148
|
0
|
|
@@ -148,7 +152,7 @@ const finalizationRegistry2 = finalizationRegistryCreate((handle)=>{
|
|
|
148
152
|
exports0['1'](rep);
|
|
149
153
|
});
|
|
150
154
|
handleTables[2] = handleTable2;
|
|
151
|
-
const
|
|
155
|
+
const trampoline3 = rscTableCreateOwn.bind(null, handleTable2);
|
|
152
156
|
let exports1Init;
|
|
153
157
|
function init(arg0) {
|
|
154
158
|
var val0 = arg0;
|
|
@@ -1171,15 +1175,20 @@ function displayInstructionRow(arg0, arg1, arg2, arg3) {
|
|
|
1171
1175
|
break;
|
|
1172
1176
|
case 4:
|
|
1173
1177
|
variant11 = {
|
|
1174
|
-
tag: '
|
|
1178
|
+
tag: 'data-flow'
|
|
1175
1179
|
};
|
|
1176
1180
|
break;
|
|
1177
1181
|
case 5:
|
|
1178
1182
|
variant11 = {
|
|
1179
|
-
tag: '
|
|
1183
|
+
tag: 'delete'
|
|
1180
1184
|
};
|
|
1181
1185
|
break;
|
|
1182
1186
|
case 6:
|
|
1187
|
+
variant11 = {
|
|
1188
|
+
tag: 'insert'
|
|
1189
|
+
};
|
|
1190
|
+
break;
|
|
1191
|
+
case 7:
|
|
1183
1192
|
variant11 = {
|
|
1184
1193
|
tag: 'rotating',
|
|
1185
1194
|
val: clampGuest(dataView(memory0).getUint8(base + 33, true), 0, 255)
|
|
@@ -1525,12 +1534,13 @@ function instructionHover(arg0, arg1, arg2, arg3) {
|
|
|
1525
1534
|
const $init = (()=>{
|
|
1526
1535
|
let gen = function*() {
|
|
1527
1536
|
const module0 = fetchCompile(new URL('./objdiff.core.wasm', import.meta.url));
|
|
1528
|
-
const module1 = base64Compile('AGFzbQEAAAABDQJgAX8AYAV/f39/
|
|
1529
|
-
const module2 = base64Compile('AGFzbQEAAAABDQJgAX8AYAV/f39/
|
|
1537
|
+
const module1 = base64Compile('AGFzbQEAAAABDQJgAX8AYAV/f39/fwADBQQBAAAABAUBcAEEBAccBQEwAAABMQABATIAAgEzAAMIJGltcG9ydHMBAAoxBBEAIAAgASACIAMgBEEAEQEACwkAIABBAREAAAsJACAAQQIRAAALCQAgAEEDEQAACwAvCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BzAuMjM3LjA');
|
|
1538
|
+
const module2 = base64Compile('AGFzbQEAAAABDQJgAX8AYAV/f39/fwACJAUAATAAAQABMQAAAAEyAAAAATMAAAAIJGltcG9ydHMBcAEEBAkKAQBBAAsEAAECAwAvCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BzAuMjM3LjA');
|
|
1530
1539
|
({ exports: exports0 } = yield instantiateCore((yield module1)));
|
|
1531
1540
|
({ exports: exports1 } = yield instantiateCore((yield module0), {
|
|
1532
1541
|
'[export]objdiff:core/diff': {
|
|
1533
|
-
'[resource-
|
|
1542
|
+
'[resource-drop]object-diff': trampoline2,
|
|
1543
|
+
'[resource-new]diff-config': trampoline3,
|
|
1534
1544
|
'[resource-new]object': trampoline1,
|
|
1535
1545
|
'[resource-new]object-diff': trampoline0
|
|
1536
1546
|
},
|
|
@@ -1542,7 +1552,7 @@ const $init = (()=>{
|
|
|
1542
1552
|
({ exports: exports2 } = yield instantiateCore((yield module2), {
|
|
1543
1553
|
'': {
|
|
1544
1554
|
$imports: exports0.$imports,
|
|
1545
|
-
0:
|
|
1555
|
+
0: trampoline4,
|
|
1546
1556
|
1: exports1['objdiff:core/diff#[dtor]diff-config'],
|
|
1547
1557
|
2: exports1['objdiff:core/diff#[dtor]object'],
|
|
1548
1558
|
3: exports1['objdiff:core/diff#[dtor]object-diff']
|
|
@@ -1556,7 +1566,7 @@ const $init = (()=>{
|
|
|
1556
1566
|
postReturn4 = exports1['cabi_post_objdiff:core/display#display-sections'];
|
|
1557
1567
|
postReturn5 = exports1['cabi_post_objdiff:core/display#display-symbol'];
|
|
1558
1568
|
postReturn6 = exports1['cabi_post_objdiff:core/display#display-instruction-row'];
|
|
1559
|
-
postReturn7 = exports1['cabi_post_objdiff:core/display#
|
|
1569
|
+
postReturn7 = exports1['cabi_post_objdiff:core/display#instruction-context'];
|
|
1560
1570
|
postReturn8 = exports1['cabi_post_objdiff:core/display#instruction-hover'];
|
|
1561
1571
|
exports1Init = exports1.init;
|
|
1562
1572
|
exports1Version = exports1.version;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "objdiff-wasm",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "A local diffing tool for decompilation projects.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Luke Street",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"types": "dist/objdiff.d.ts",
|
|
20
20
|
"scripts": {
|
|
21
21
|
"build": "npm run build:wasm && npm run build:transpile && npm run build:lib",
|
|
22
|
-
"build:wasm": "cargo
|
|
23
|
-
"build:transpile": "jco transpile ../target/wasm32-wasip2/release/objdiff_wasm.wasm --no-nodejs-compat --no-wasi-shim --no-namespaced-exports --map wasi:logging/logging=./wasi-logging.js --optimize -o pkg --name objdiff",
|
|
22
|
+
"build:wasm": "cargo build --profile release-min --no-default-features",
|
|
23
|
+
"build:transpile": "jco transpile ../target/wasm32-wasip2/release-min/objdiff_wasm.wasm --no-nodejs-compat --no-wasi-shim --no-namespaced-exports --map wasi:logging/logging=./wasi-logging.js --optimize -o pkg --name objdiff",
|
|
24
24
|
"build:lib": "rslib build"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|