Created
November 15, 2025 20:24
-
-
Save adeii/db50b9c737f2f799f9073ddaa02c1b3d to your computer and use it in GitHub Desktop.
ThunderBird 145 x64 on Win 7 - NOPE!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| xul.exe | |
| ------- | |
| B8: 06 | |
| C0: 06 | |
| DD 12 E5 01 49 8D 87 00 00 C0 7F 48 89 44 24 28 | |
| 4C 89 7C 24 20 4C 89 F9 4C 89 F2 41 B8 01 00 00 | |
| 00 41 B9 01 00 00 00 FF 15 3C 1B E5 01 89 C5 48 --> | |
| DD 12 E5 01 49 8D 87 00 00 C0 7F 90 90 90 90 90 | |
| 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 | |
| 90 90 90 31 C0 90 90 90 90 90 90 90 90 89 C5 48 | |
| -- | |
| 55 48 9F 04 49 8D 87 00 00 C0 7F 48 89 44 24 28 | |
| 4C 89 7C 24 20 4C 89 F9 4C 89 F2 41 B8 01 00 00 -TB145 | |
| 00 41 B9 01 00 00 00 FF 15 FC 50 9F 04 89 C5 48 | |
| -- | |
| 48 89 50 08 EB 8E CC CC CC CC CC CC CC CC CC CC 41 57 41 56 41 55 41 54 56 57 55 53 48 83 EC 78 ->nope | |
| 48 89 50 08 EB 8E CC CC CC CC CC CC CC CC CC CC B8 01 00 00 00 C3 41 54 56 57 55 53 48 83 EC 78 | |
| RoGetAgileReference -> CLSIDFromProgID | |
| RtlAddGrowableFunctionTable -> ZwFindAtom | |
| USER32.dll -> USER64.dll | |
| KERNEL32.dll -> KERNEL64.dll | |
| bcryptprimitives.dll -> xcryptprimitives.dll | |
| 63 00 6F 00 6D 00 62 00 61 00 73 00 65 00 2E 00 64 00 6C 00 6C 00 -> | |
| 6F 00 6C 00 65 00 33 00 32 00 2E 00 64 00 6C 00 6C 00 00 00 00 00 (c.o.m...b.a.s.e -> o.l.e.3.2...d.l.l) | |
| GetThreadDpiAwarenessContext -> GetMonitorInfoW ?? | |
| AreDpiAwarenessContextsEqual -> GetMonitorInfoW ?? | |
| GetSystemMetricsForDpi -> GetSystemMetrics | |
| GetDpiForWindow -> GetMonitorInfoW | |
| CreateFile2 -> CreateFileW | |
| NtQueryWnfStateData - no alternative! So, ZwFindAtom, NtClose ... | |
| GetQueueStatus -> ?? | |
| GetCurrentPackageFamilyName - GetCurrentPackageFullName | |
| GetPointerType -> GetCursorInfo | |
| --- | |
| Great - deadLoop! | |
| "DWriteCreateFactory" called from "XUL.DLL" at address 0x000007FECE7785D2 and returned 0x000007FEEC596980 by thread 59. | |
| [USER64.DLL], "KillTimer") called from "XUL.DLL" at address 0x000007FED12AAE1E and returned 0x000007FEDE471FE0 by thread 36. | |
| [USER64.DLL], "GetQueueStatus") called from "XUL.DLL" at address 0x000007FED12AAE1E and returned 0x000007FEDE471DD0 by thread 36. | |
| [USER64.DLL], "PeekMessageW") called from "XUL.DLL" at address 0x000007FED12AAE1E and returned 0x000007FEDE472130 by thread 36. | |
| [USER64.DLL], "KillTimer") called from "XUL.DLL" at address 0x000007FED12AAE1E and returned 0x000007FEDE471FE0 by thread 36. | |
| [USER64.DLL], "GetQueueStatus") ... | |
| D3D11.dll -> CreateDirect3D11DeviceFromDXGIDevice -> D3D11CreateDevice | |
| KERNEL32.dll -> IsWow64Process2 -> IsWow64Process | |
| mozglue.exe | |
| ----------- | |
| B8: 06 | |
| C0: 06 | |
| api-ms-win-core-version-l1-1-1.dll -> version.dll | |
| api-ms-win-core-psapi-l1-1-0.dll -> kernel32.dll | |
| api-ms-win-core-version-l1-1-0.dll -> version.dll | |
| api-ms-win-core-errorhandling-l1-1-1.dll -> kernel32.dll | |
| (api-ms-win-core-handle-l1-1-0.dll -> kernel32.dll) | |
| (api-ms-win-core-memory-l1-1-0.dll -> kernel32.dll) | |
| (api-ms-win-core-file-l1-1-0.dll -> kernel32.dll) | |
| (api-ms-win-core-processthreads-l1-1-0.dll -> kernel32.dll) | |
| api-ms-win-core-libraryloader-l1-2-0.dll -> kernel32.dll | |
| api-ms-win-core-libraryloader-l1-2-1.dll -> kernel32.dll | |
| api-ms-win-core-heap-l2-1-0.dll -> kernel32.dll | |
| api-ms-win-core-realtime-l1-1-0.dll -> kernel32.dll | |
| api-ms-win-core-realtime-l1-1-1.dll -> kernel64.dll | |
| api-ms-win-core-registry-l1-1-0.dll -> kernel32.dll | |
| api-ms-win-core-rtlsupport-l1-2-0.dll -> ntdll.dll | |
| api-ms-win-core-sysinfo-l1-2-0.dll -> kernel32.dll | |
| thunderbird.exe | |
| gkcodecs.dll | |
| nssckbi.dll | |
| nss3.exe | |
| lgpllibs.dll | |
| pingsender.exe | |
| plugin-container.exe | |
| rnp-cli.exe | |
| rnpkeys.exe | |
| WSEnable.exe | |
| ------------------------- | |
| B8: 06 | |
| C0: 06 | |
| b c r y p t p r -- x c r y p t p r | |
| ( 62 00 63 00 72 00 79 00 70 00 74 00 70 00 72 00 -- 78 00 63 00 72 00 79 00 70 00 74 00 70 00 72 00 ) | |
| IsWow64Process2 -> IsWow64Process | |
| export var WinTaskbarJumpList = { | |
| // We build two separate jump lists -- one for the regular Firefox icon | |
| // and one for the Private Browsing icon | |
| _builder: null, | |
| _pbBuilder: null, | |
| _builtPb: false, | |
| // Is showing jump lists currently blocked, such as when waiting for the user | |
| // to interact with the preonboarding modal? | |
| _blocked: false, | |
| _shuttingDown: false, | |
| _useLegacyBackend: true, | |
| ... | |
| startup: async function WTBJL_startup() { | |
| // We do a one-time startup read of the backend pref here because | |
| // we don't want to consider any bugs that occur if the pref is flipped | |
| // at runtime. We want the pref flip to only take effect on a restart. | |
| this._useLegacyBackend = lazy._prefs.getBoolPref( | |
| PREF_TASKBAR_LEGACY_BACKEND | |
| ); | |
| // exit if initting the taskbar failed for some reason. | |
| if (!(await this._initTaskbar())) { | |
| return; | |
| } | |
| if (lazy.PrivateBrowsingUtils.enabled) { | |
| tasksCfg.push(privateWindowTask); | |
| } | |
| // Store our task list config data | |
| this._builder._tasks = tasksCfg; | |
| this._pbBuilder._tasks = tasksCfg; | |
| // retrieve taskbar related prefs. | |
| this._refreshPrefs(); | |
| // observer for private browsing and our prefs branch | |
| this._initObs(); | |
| // jump list refresh timer | |
| this._updateTimer(); | |
| if (this._blocked) { | |
| this._builder._deleteActiveJumpList(); | |
| } | |
| }, | |
| update: function WTBJL_update() { | |
| // are we disabled via prefs? don't do anything! | |
| if (!this._enabled) { | |
| return; | |
| } | |
| if (this._shuttingDown) { | |
| return; | |
| } | |
| if (this._useLegacyBackend) { | |
| // we only need to do this once, but we do it here | |
| // to avoid main thread io on startup | |
| if (!this._builtPb) { | |
| this._pbBuilder.buildListLegacy(); | |
| this._builtPb = true; | |
| } | |
| // do what we came here to do, update the taskbar jumplist | |
| this._builder.buildListLegacy(); | |
| } else { | |
| this._builder.buildList(); | |
| // We only ever need to do this once because the private browsing window | |
| // jumplist only ever shows the static task list, which never changes, | |
| // so it doesn't need to be updated over time. | |
| if (!this._builtPb) { | |
| this._pbBuilder.buildList(); | |
| this._builtPb = true; | |
| } | |
| } | |
| }, | |
| _shutdown: function WTBJL__shutdown() { | |
| this._builder.updateShutdownState(true); | |
| this._pbBuilder.updateShutdownState(true); | |
| this._shuttingDown = true; | |
| this._free(); | |
| }, | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment