4bde01af0b438db774fcc060b07c0787bc67167831fcbc8c3c9157616dc6b330

The file is the module exactly as the page had it. WebAssembly does nothing on its own: it runs only when a script instantiates it. Labels describe what the module contains and are leads, not verdicts.

At a glance

What it is
Known library: Skia CanvasKit graphics.
Names it came with
Came with the npm package canvaskit-wasm 0.37.1 (2 sites) · From unpkg.com (2 sites) · File name: canvaskit (2 sites). Its build and the addresses it came from say so; whoever builds a module chooses these, so they are hints.
How it was built
Not named in the module.
What it can do
None of its imports reaches the network, runs code or changes the page. Judged from the names of its imports.
Where we saw it
On 2 public scans, 2026-10-23 to 2026-10-23.
Findings
Carries JavaScript, Hashing or cipher loops. Leads, not verdicts: legitimate modules show these too.
Size
6.5 MiB
First seen
2026-10-23
Last seen
2026-10-23
Public scans
2
Functions
11437
Imports
219
Exports
34
Data segments
3480

Analysis limits

Only its first 2,000 strings were read.

How it was built

The module names no language, compiler or build tool. Release builds often strip this information, and hand-written modules usually lack it.

Hashing and cipher code

Algorithms recognised from their published constants, tables and rotation amounts: CRC-32, CRC-32C. Legitimate modules use them all the time, for hashing, captchas and encryption, so this is a lead, not a verdict.

Decompiled code

11,433 of 11,437 functions decompiled to C-like pseudocode; 219 more are imported from the page.

  • 4 of 11,437 functions could not be decompiled.

Decompiled code is a reconstruction from the file, so names and types are often guesses. Query values in URLs are masked here; the downloaded file is unchanged.

FunctionSizeBlocksComplexityNotes
No functions match.

File layout

WebAssembly binary format version 1, core module, 10 sections.

SectionOffsetSizeItems
type0x82.6 KiB287
import0xa941.5 KiB219
function0x106411.4 KiB11,437
table0x3dcc9 bytes1
memory0x3dd59 bytes1
global0x3dde11 bytes1
export0x3de9206 bytes34
element0x3eb717.1 KiB1
code0x83215.0 MiB11,437
data0x50338e1.5 MiB3,480
Memory
2,048 pages (128.0 MiB), up to 32,768 pages (2.0 GiB)
Table
8,787 entries, up to 8,787 entries, funcref
Globals
1
Element segments
1
Function names
none (names were stripped)

Data segments

Each bar is one segment of the module's data: as wide as its size, as tall as its entropy. Bars above the dashed line are encrypted or compressed. 3,480 segments, 1.5 MiB in all. The chart shows 64: the first 64 and every encrypted or compressed one.

3,416 segments not drawn (1.4 MiB)02468Segment 0: 125,012 bytes, 5.45 bits per byteSegment 1: 216 bytes, 2.83 bits per byteSegment 2: 97 bytes, 2.22 bits per byteSegment 4: 21 bytes, 1.38 bits per byteSegment 5: 5 bytes, 1.37 bits per byteSegment 6: 156 bytes, 2.05 bits per byteSegment 7: 2 bytes, 1 bits per byteSegment 8: 2 bytes, 1 bits per byteSegment 9: 74 bytes, 4.46 bits per byteSegment 10: 6 bytes, 1.58 bits per byteSegment 11: 2 bytes, 1 bits per byteSegment 12: 2 bytes, 1 bits per byteSegment 13: 2 bytes, 1 bits per byteSegment 14: 2 bytes, 1 bits per byteSegment 16: 51 bytes, 1.77 bits per byteSegment 17: 110 bytes, 1.71 bits per byteSegment 18: 99 bytes, 1.48 bits per byteSegment 19: 77 bytes, 1.21 bits per byteSegment 20: 85 bytes, 1.34 bits per byteSegment 21: 169 bytes, 0.82 bits per byteSegment 22: 88 bytes, 1.11 bits per byteSegment 23: 41 bytes, 1.52 bits per byteSegment 25: 16 bytes, 1.62 bits per byteSegment 26: 2 bytes, 1 bits per byteSegment 27: 2 bytes, 1 bits per byteSegment 28: 167 bytes, 2.4 bits per byteSegment 29: 37 bytes, 1.47 bits per byteSegment 30: 37 bytes, 1.74 bits per byteSegment 31: 129 bytes, 2.6 bits per byteSegment 33: 132 bytes, 2.66 bits per byteSegment 34: 1,042 bytes, 6.93 bits per byteSegment 35: 120 bytes, 1.27 bits per byteSegment 36: 25 bytes, 1.47 bits per byteSegment 37: 37 bytes, 1.37 bits per byteSegment 38: 17 bytes, 0.95 bits per byteSegment 39: 17 bytes, 0.98 bits per byteSegment 40: 17 bytes, 0.98 bits per byteSegment 41: 25 bytes, 0.87 bits per byteSegment 42: 173 bytes, 1.52 bits per byteSegment 43: 65 bytes, 1.11 bits per byteSegment 44: 9 bytes, 0.76 bits per byteSegment 45: 5 bytes, 0.97 bits per byteSegment 46: 105 bytes, 1.4 bits per byteSegment 47: 177 bytes, 1.64 bits per byteSegment 48: 21 bytes, 0.79 bits per byteSegment 49: 17 bytes, 1.32 bits per byteSegment 50: 115 bytes, 2.23 bits per byteSegment 51: 63 bytes, 0.99 bits per byteSegment 52: 69 bytes, 1.25 bits per byteSegment 53: 22 bytes, 1.41 bits per byteSegment 54: 2 bytes, 1 bits per byteSegment 55: 2 bytes, 1 bits per byteSegment 56: 154 bytes, 2.78 bits per byteSegment 57: 2 bytes, 1 bits per byteSegment 58: 2 bytes, 1 bits per byteSegment 59: 14 bytes, 1.41 bits per byteSegment 60: 2 bytes, 1 bits per byteSegment 61: 39 bytes, 1.89 bits per byteSegment 62: 81 bytes, 1.87 bits per byteSegment 63: 50 bytes, 1.88 bits per byteSegment 24: 1,081 bytes, 7.88 bits per byte
data segment encrypted or compressed 3,416 segments not drawn 7.5 bits per byteHeight: bits per byte. Width: share of all the data.
  • Segment 24: 1,081 bytes at 7.88 bits per byte

Imports (219)

  • a.a
  • a.b
  • a.c
  • a.d
  • a.e
  • a.f
  • a.g
  • a.h
  • a.i
  • a.j
  • a.k
  • a.l
  • a.m
  • a.n
  • a.o
  • a.p
  • a.q
  • a.r
  • a.s
  • a.t
  • a.u
  • a.v
  • a.w
  • a.x
  • a.y
  • a.z
  • a.A
  • a.B
  • a.C
  • a.D
  • a.E
  • a.F
  • a.G
  • a.H
  • a.I
  • a.J
  • a.K
  • a.L
  • a.M
  • a.N
  • a.O
  • a.P
  • a.Q
  • a.R
  • a.S
  • a.T
  • a.U
  • a.V
  • a.W
  • a.X

Exports (34)

Text it passes to the page

Fixed text the module hands to the page's JavaScript when it calls an import, read from the module file. Imports that reach the network, run code or change the page come first; web addresses are shown as their host.

ImportText
a.Bunsigned char
a.Bunsigned short
a.Bunsi
a.Blong
a.CdeleteTexture
a.CfreeSrc
a.EStrokeOpts
a.EPositionWithAffinity
a.EFontStyle
a.EParagraphStyle
a.EStrutStyle
a.ETextStyle
a.EURange
a.Gbemscripten::val
a.Hbbool
a.Ibvoid
a.J1.6.38.git
a.KbSkia
a.LFloat32Array
a.LUint16Array
a.LUint32Array
a.Pstd::wstring
a.Pstd::u16string
a.Pstd::u32string
a.Xstd::string
a.Xstd::basic_string<unsigned char>
a.Yfloa
a.Ydouble
a.b_getResourceCacheLimitBytes
a.b_getResourceCacheUsageBytes

Showing 30 of 611.

Hosts and scripts inside

Carries 5 scripts as text, analyzed like the page's own; they name www.w3.org.

In our sandbox

  • Produced 24 strings at run time, listed below.

Strings it produced at run time

Text that appeared while it ran and is not in the file: decoded, decrypted or built by its code. Web addresses are shown as their host. Showing 23 of 24.

  1. Android Emulator OpenGL ES Translator
  2. DFHSGothic-W5
  3. HuaTianKaiTi?
  4. @base: metadata reported
  5. #base: bad call sequence
  6. #base: bad sizeof receiver
  7. #base: disabled by previous error
  8. #base: initialize falsely claimed already zeroed
  9. #base: initialize not called
  10. #base: no more information
  11. #base: unsupported option
  12. {vtable}wuffs_base__image_decoder
  13. {vtable}wuffs_base__io_transformer
  14. #lzw: internal error: inconsistent I/O
  15. #gif: bad graphic control
  16. #gif: internal error: inconsistent ri/wi
  17. N3icu8ByteSinkE
  18. j#j#j#j#j#j#j#j#j#j#j#j#j#j#j#j#j#j#j#j#j#j#j#j#j#j#j#
  19. YPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYPYP
  20. `abcdefghijklmn
  21. GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg
  22. 0123456789abcdefABCDEFxX+-pPiInN
  23. #""""""""""

Checks we ran

  • Threat-feed matches: none
  • Names of mining software or pools: none
  • CryptoNight mining structure: not found
  • Hashing or cipher loops: 2 functions (common in codecs and captchas)
  • Known hashing or cipher algorithms: CRC-32, CRC-32C
  • Encrypted or compressed data: none
  • JavaScript stored inside: 5
  • Other modules inside: none
  • Imports that read browser or page details: none
  • Function names: removed (usual in release builds)

Static checks of the file: nothing in it was run for these. A finding is a lead, not a verdict.

Shares code with

Other modules that contain some of the same functions. They are ranked by functions few modules have, so a language's own runtime does not link every module built with it. Shared code often means a shared library or the same developer. It is a lead, not a verdict.

  • 4d0a7c5d…100f866.6 MiB · first seen 2026-10-07 · 2,105 functions in common (32% of this module's, 33% of that one's)
  • c163375d…bcba535.1 MiB · first seen 2026-10-23 · 2,061 functions in common (32% of this module's, 34% of that one's)
  • e89337bc…01aebd4.9 MiB · first seen 2026-10-23 · 1,877 functions in common (29% of this module's, 31% of that one's)
  • 049b65b2…2857395.1 MiB · first seen 2026-10-03 · 1,453 functions in common (22% of this module's, 24% of that one's)
  • eb68c7a7…1f9dc47.7 MiB · first seen 2026-10-04 · 823 functions in common (13% of this module's, 11% of that one's)
  • 820f7799…b29aed5.4 MiB · first seen 2026-10-17 · 725 functions in common (11% of this module's, 12% of that one's)
  • de186b17…d49d175.4 MiB · first seen 2026-10-04 · 684 functions in common (10% of this module's, 11% of that one's)
  • d7186dbd…a925085.4 MiB · first seen 2026-10-14 · 685 functions in common (11% of this module's, 11% of that one's)
  • 2bf5ea09…6604185.4 MiB · first seen 2026-10-07 · 677 functions in common (10% of this module's, 11% of that one's)
  • c2fc2864…d133145.5 MiB · first seen 2026-10-22 · 650 functions in common (10% of this module's, 10% of that one's)
  • 655cc4de…12c76c277.4 KiB · first seen 2026-10-11 · 103 functions in common (2% of this module's, 35% of that one's)

Seen on 2 public scans

PageTitleSeenHow it got there
antoine-gonthier.firebaseapp.comiPhone2026-10-23Downloaded as a file
antoine-gonthier.web.appiPhone2026-10-23Downloaded as a file