Skip to content

VLiance/XE-Loader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

Load & run executable [Windows EXE / Linux ELF / & more] anywhere, without any dependency

XE-Loader is a C99 open source project. Like the well known Wine, this loader runs executable directly on the system without any virtualization layer.

No extra layers = No penalties

Instead of trying to replicate a whole OS, our goal is to give maximum controls to the user.

This way, we are focusing more on creating a portable executable. We mean ... Really portable. Because of all those OS relative function calls, break the fact that we cannot use the same binary and run it anywhere.

So we create a Linux app, Windows app, etc, then we try to find somewhat equivalent for each version of your app. Your app depends on the system.

What about if it's the system that depends on your app? This is a very different perspective.

If we take the 3 executable file formats ELF, PE, Mach-O all of these are compatible architecture. In reality, your app is already compatible with these 3 OS, behind the format, all was using the same x86 instructions.

Therefore, can we run Elf file on Windows? Yes it's possible:

Logo

That said, XE-Loader will not run every existing executable, instead, it gives you control:

  • Relink all dynamique function you want (Change behavior)
  • Restrict system access (Better protection)
  • View functions flow and debug with gdb (View every part of your program)

Real world application

  • Create true cross-platform binary
  • Perfect fit for OS developement (no external dependency required)
  • Create true portable Toolchain
  • Load & run .exe file directly from memory (no file is even required)
  • Pack, perform compression and perform pre-operation before running it
  • & more

Generic Interface

Doc_generic

*Can I still call a specific OS function depending on the platform?

New File Format

Doc_generic

How to build?

See our wiki

How to create an XE-Loader compatible binary?

See our wiki

Examples

Created for the CpcDos project. Github / Video / Using Mesa

Soon

  • Support Android (.apk)
  • Support MacOS (.app)

Even further

Here we can make cross-platform binary that run on specific architecture, if we want to go even further and use the LLVM IR technologie, we can make cross-architecture binary (Same XE file everywhere)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published