Code Monkey home page Code Monkey logo

Comments (9)

BlohoJo avatar BlohoJo commented on July 20, 2024

I was able to pull it out of the Windows 10 2004 ISO, by extracting install.wim out of sources, then extracting 1\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\ and 1\Windows\SystemApps\Microsoft.MicrosoftEdgeDevToolsClient_8wekyb3d8bbwe\ out of install.wim.

Alas, when I copy these folders into C:\Windows\SystemApps\, Edge immediately closes when it I try to start it either via shortcut or clicking the .exe directly.

Tried:

  • Copying contents of ISO folders into existing C:\Windows\SystemApps\ folder, skipping already existing files.

  • Deleting Microsoft.MicrosoftEdge_8wekyb3d8bbwe and Microsoft.MicrosoftEdgeDevToolsClient_8wekyb3d8bbwe from C:\Windows\SystemApps\ folder, then copying ISO folders in.

  • Deleting the folders C:\Users\Admin\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe and C:\Users\Admin\AppData\Local\Packages\Microsoft.MicrosoftEdgeDevToolsClient_8wekyb3d8bbwe, then running in Powershell Get-AppXPackage -AllUsers -Name Microsoft.MicrosoftEdge | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml” -Verbose} and Get-AppXPackage -AllUsers -Name Microsoft.MicrosoftEdgeDevToolsClient | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml” -Verbose} (with both conditions above).

Nothing works, Edge Legacy immediately closes when I try to run it.

I'm at a loss.

I was on 19041.630. The ISO image that I used is the original one at version 19041.264. So maybe Edge Legacy was patched at some point going to 19041.630, and Windows somehow detects that this is an older version of Edge Legacy and refuses to run it.

I guess since I didn't back up those folders (Microsoft sees fit to delete them without informing the user, since they see Windows "as a service" now), I lose Edge Legacy forever on this install.

That sucks.

from legacy-edge-launcher.

BlohoJo avatar BlohoJo commented on July 20, 2024

x64dbg doesn't reveal much.

Initializing wait objects...
Initializing debugger...
Initializing debugger functions...
Setting JSON memory management functions...
Initializing Zydis...
Getting directory information...
Start file read thread...
Retrieving syscall indices...
Symbol Path: C:\Program Files\x64dbg\x64\symbols
Allocating message stack...
Initializing global script variables...
Registering debugger commands...
Registering GUI command handler...
Registering expression functions...
Registering format functions...
Registering Script DLL command handler...
Starting command loop...
Initialization successful!
Loading plugins...
Handling command line...
  "C:\Program Files\x64dbg\x64\x64dbg.exe" "C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe" "" "C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
Syscall indices loaded!
Error codes database loaded!
Exception codes database loaded!
NTSTATUS codes database loaded!
Windows constant database loaded!
Reading notes file...
File read thread finished!
Debugging: C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe
Database file: C:\Program Files\x64dbg\x64\db\MicrosoftEdge.exe.dd64
Process Started: 00007FF7A5D00000 C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe
  "C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe"
  argv[0]: C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe
Breakpoint at 00007FF7A5E160B0 (entry breakpoint) set!
DLL Loaded: 00007FF811C30000 C:\Windows\System32\ntdll.dll
DLL Loaded: 00007FF810790000 C:\Windows\System32\kernel32.dll
DLL Loaded: 00007FF80F970000 C:\Windows\System32\KernelBase.dll
DLL Loaded: 00007FF80CBE0000 C:\Windows\System32\apphelp.dll
DLL Loaded: 00007FF811080000 C:\Windows\System32\SHCore.dll
DLL Loaded: 00007FF810FE0000 C:\Windows\System32\msvcrt.dll
Thread 10CC created, Entry: ntdll.00007FF811C82AD0, Parameter: 000001EB8B8C8190
DLL Loaded: 00007FF810320000 C:\Windows\System32\combase.dll
DLL Loaded: 00007FF80F730000 C:\Windows\System32\ucrtbase.dll
DLL Loaded: 00007FF8101D0000 C:\Windows\System32\rpcrt4.dll
Thread 1410 created, Entry: ntdll.00007FF811C82AD0, Parameter: 000001EB8B8C8190
DLL Loaded: 00007FF811B50000 C:\Windows\System32\sechost.dll
Thread 1924 created, Entry: ntdll.00007FF811C82AD0, Parameter: 000001EB8B8C8190
DLL Loaded: 00007FF810C70000 C:\Windows\System32\oleaut32.dll
DLL Loaded: 00007FF80F690000 C:\Windows\System32\msvcp_win.dll
DLL Loaded: 00007FF80D250000 C:\Windows\System32\kernel.appcore.dll
DLL Loaded: 00007FF80E4C0000 C:\Windows\System32\wkscli.dll
DLL Loaded: 00007FF80AB90000 C:\Windows\System32\wincorlib.dll
DLL Loaded: 00007FF80E820000 C:\Windows\System32\netutils.dll
System breakpoint reached!
INT3 breakpoint "entry breakpoint" at <microsoftedge.EntryPoint> (00007FF7A5E160B0)!
DLL Loaded: 00007FF80F8E0000 C:\Windows\System32\bcryptprimitives.dll
DLL Loaded: 00007FF8069E0000 C:\Windows\System32\iertutil.dll
DLL Loaded: 00007FF8106E0000 C:\Windows\System32\advapi32.dll
Thread 1924 exit
Thread 1410 exit
Thread 10CC exit
Process stopped with exit code 0x109B (4251)
Saving database to C:\Program Files\x64dbg\x64\db\MicrosoftEdge.exe.dd64 15ms
Debugging stopped!

from legacy-edge-launcher.

ShortDevelopment avatar ShortDevelopment commented on July 20, 2024

Hey, great research; I really like, how you tried solving this problem on your own!

I checked the C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe folder and found that it has been mostly deleted

Yes, that's "supposed" to happen...

I was able to pull it out of the Windows 10 2004 ISO

Good job! That’s possible, because Edge ships bundled with the OS. That was a huge disadvantage over other browser, that where quickly able to patch vulnerabilities and bugs in general.
Actually, Microsoft provides specific images for testing sites on Project Spartan (Legacy Edge).

Edge immediately closes when it I try to start it either via shortcut or clicking the .exe directly.

Project Spartan was build as a UWP app. As such windows sets up the app model and handles activation. Therefore, you can’t just double-click the *.exe.
You have to start it via the start menu.

x64dbg doesn't reveal much.

First of all, I’m not sure whether x64dbg handles uwp activation correctly.
In case it does, you can enable debug logs of module loading (#1 (comment)).

In my case, windows code integrity prohibited Edge to load eData.dll: See #3

As a workaround, you can disable code integrity.

Warning
This is really DANGEROUS!

Workaround

from legacy-edge-launcher.

BlohoJo avatar BlohoJo commented on July 20, 2024

Thanks very much for the reply, that's very helpful info.

My goal was to have both Edge Chromium and Edge Legacy side by side.

I went ahead and installed Edge Chromium v105.0.1343.42 ("Windows 64 bit").

What I quickly discovered after the install, is that it made it so that if Edge Legacy is started from the Start Menu shortcut (which is %windir%\explorer.exe shell:Appsfolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge), even though the Edge Legacy program executable and files are in C:\Windows\SystemApps, it runs Edge Chromium instead out of C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe.

So, even if I disabled Code Integrity, I would not be able to launch Edge Legacy unless I uninstalled Edge Chromium, since it's not possible to launch Edge Legacy by running the executable directly.

My reasoning for wanting to keep Edge Legacy is that pretty much every current up to date browser is some build of Mozilla or Chromium. Edge Legacy is unique. Added to IE11, that's four different browsers not based on each other. Looks like the future is going to be Mozilla and Chromium exclusively. :\

from legacy-edge-launcher.

ShortDevelopment avatar ShortDevelopment commented on July 20, 2024

Edge Legacy is unique.

That’s one thing, I really liked about Project Spartan (especially the js-engine, which is open source)!

even if I disabled Code Integrity

Keep in mind: Never on your personal computer; only in a VM!

Looks like the future is going to be Mozilla and Chromium exclusively.

In terms of security and feature completeness: Definitely!

My goal was to have both Edge Chromium and Edge Legacy side by side.

You can still use both versions side-by-side by uninstalling the stable channel (doing all steps described above) and instead installing on of the insider channels.

That’s what I was doing until the code integrity stuff.

For pure testing, you can also just use browserstack.com.

from legacy-edge-launcher.

Iemand005 avatar Iemand005 commented on July 20, 2024

I currently have the edge binaries from 2004, 1903 and 1809 for testing the different iterations of Edge. But I noticed in 22H2, versions of edge older than the build from 1903 don't launch which is likely to one of the newer dll files under system32 is incompatible with the older versions. The reason I want an older version is because I examined the xml files and noticed in the latest build (2004) they actually removed .epub and high efficiency video codec support completely. I don't like how they updated it just to remove functionality making it objectively worse than the previous version, so using a slightly more outdated version would give you the full experience with all features enabled.

I want to use edge partially to open .epub files like it was intended to but it does not work anymore. 1903 supports .epub files but when opening it Edge prompts if you want to open the file and if you click "open" it opens a new tab and prompts again. This is stupid since reader mode is still present, but the scroll bar at the bottom is gone.

Someone with an older windows version should try the 1809 build since I assume this would be the latest build in which it's still functional how it's supposed to be.

Here is a download to the binares for the two older builds that would need some experimenting. It's a rar file but I had to add .zip since github doesn't accept .rar files.

from legacy-edge-launcher.

kristibektashi avatar kristibektashi commented on July 20, 2024

You need to get the Edge Legacy binaries from build 19041.890

from legacy-edge-launcher.

kristibektashi avatar kristibektashi commented on July 20, 2024

I currently have the edge binaries from 2004, 1903 and 1809 for testing the different iterations of Edge. But I noticed in 22H2, versions of edge older than the build from 1903 don't launch which is likely to one of the newer dll files under system32 is incompatible with the older versions. The reason I want an older version is because I examined the xml files and noticed in the latest build (2004) they actually removed .epub and high efficiency video codec support completely. I don't like how they updated it just to remove functionality making it objectively worse than the previous version, so using a slightly more outdated version would give you the full experience with all features enabled.

I want to use edge partially to open .epub files like it was intended to but it does not work anymore. 1903 supports .epub files but when opening it Edge prompts if you want to open the file and if you click "open" it opens a new tab and prompts again. This is stupid since reader mode is still present, but the scroll bar at the bottom is gone.

Someone with an older windows version should try the 1809 build since I assume this would be the latest build in which it's still functional how it's supposed to be.

Here is a download to the binares for the two older builds that would need some experimenting. It's a rar file but I had to add .zip since github doesn't accept .rar files.

Is there any difference between the 1903 and 1809 versions?

from legacy-edge-launcher.

Iemand005 avatar Iemand005 commented on July 20, 2024

@kristibektashi
I don't know if there is a difference, probably some bug fixes and improvements behind the scenes but functionally they seem identical. Do you have copies of the binaries from 19041.890?

from legacy-edge-launcher.

Related Issues (7)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.