A Symbian OS emulator
Clone or download
Pull request Compare This branch is 291 commits behind EKA2L1:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
screenshots Add another screenshot Jun 10, 2018
sid Small fixes and changes to get the libmanager output rights May 24, 2018
.clang-format [clang] Add clang-format file May 1, 2018
CMakeLists.txt Fill unknown exports with "Unknown" Jun 14, 2018
Doxyfile IPC (EKA2L1#24) Jun 21, 2018
README.md Update to master badge of EKA2L1 Jun 22, 2018
appveyor.yml Change laz version Jun 11, 2018


EKA2L1 Status

  • Best Symbian OS emulator to install and run malware. You can print things too!

  • Requirements:

    • 64 bit OS, 2 GB of RAM
    • At least OpenGL 3.2 is supported
    • A Symbian ROM. Currently, only Symbian 9.x is supported, and no drawing (AKN - Symbian GUI libraries, and GLES), is implemented yet. Only console app works
  • Artifacts:

    • Artifacts for Windows is provided through CI. Click the status badge to get to EKA2L1's Appveyor CI
  • Information and contact

    • You can contact me through Discord channel here
  • Support

    • You can contribute to the codebase by submitting the PR. Please visit the wiki to know about the coding convention first ;)
    • You can also support me on Patreon
  • Building:

    • Update all submodules: git submodule update --init --recursive
    • Using CMakeList in the root directory to generate solution/makefile. Make sure to turn off BUILD_TOOLS (tools are broken)
    • Building GUI using Lazarus 1.8.4. Must be FPC x86-64 and Lazarus 64 bit
    • Make sure to have the unicorn.dll related and eka2l1_api.dll in your executable / system directory if you want to run the GUI (because the GUI uses external functions from C++)
  • For contributor:

    • You can starts by compiling the core and console and fixing warnings (or comment typos ;)) to get use to the code base.
    • You should learn some basic Symbian C++ (Active objects, Thread, Sync things, etc..) before getting in implementing HLE functions.
    • If you don't want to develop the core, you can contribute to the GUI. Either Lazarus (Pascal) or Qt (C++). I prefer Lazarus, but QT will make things easier