{"id":13654128,"url":"https://github.com/tristartom/sgx-emulator","last_synced_at":"2026-03-13T23:17:20.737Z","repository":{"id":82848969,"uuid":"43148118","full_name":"tristartom/sgx-emulator","owner":"tristartom","description":"An Emulator and SDK for Intel SGX extension","archived":false,"fork":false,"pushed_at":"2017-03-06T20:41:00.000Z","size":164,"stargazers_count":31,"open_issues_count":0,"forks_count":6,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-10T04:36:47.490Z","etag":null,"topics":["emulator","enclave","kernel-module","kernel-space","sdk","sgx","sgx-emulator"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tristartom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-09-25T14:16:07.000Z","updated_at":"2024-09-25T08:20:26.000Z","dependencies_parsed_at":"2023-03-01T08:45:41.663Z","dependency_job_id":null,"html_url":"https://github.com/tristartom/sgx-emulator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tristartom%2Fsgx-emulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tristartom%2Fsgx-emulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tristartom%2Fsgx-emulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tristartom%2Fsgx-emulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tristartom","download_url":"https://codeload.github.com/tristartom/sgx-emulator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250390823,"owners_count":21422784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emulator","enclave","kernel-module","kernel-space","sdk","sgx","sgx-emulator"],"created_at":"2024-08-02T02:01:23.740Z","updated_at":"2026-03-13T23:17:20.686Z","avatar_url":"https://github.com/tristartom.png","language":"C++","funding_links":[],"categories":["EMULATOR"],"sub_categories":[],"readme":"SGX-emulator and SDK\n===\n\nUse the emulator with the following specific setting only!\n\n**64-bit `Ubuntu 14.04.3 LTS` guest OS in VirtualBox** \n\n(This is the setting we have tested so far, and we can ensure the working of our emulator! We may relieve the requirement on VirtualBox in the future release.)\n\nBefore execution, make sure about the right Linux version\n\n```\nuname -r\n3.19.0-25-generic\n```\n\nHere's a prebuilt VirtualBox image. The username and password to login the system are both \"sgx\"\n\nhttps://www.dropbox.com/s/z18a12m09ajw6ry/sgx-env.vdi?dl=0\n\nDemo \n---\n\n```\nsudo insmod sgx.ko\nmake sha\n#sudo dmesg -c\nmake r # view the standard output\ndmesg # view kernel output\nsudo rmmod sgx\n```\n(alternative, you can also run `make` in the second line).\n\n#### Explanation\n\nThis demo will show you a simple Enclave program that computes `sha1` (cryptographic hash from `openssl`) inside Enclave. \n\n- In user-space code, it appears to be a simple function call into a dynamically loaded library. \n- In `dmesg`, you can see that the function call is \"captured\" in the kernel space (triggered by an illegal instruction, verified through the following \"experiment\"). We use this kernel-space hooking to emulate the SGX ENCLU instructions (`EENTER` and `EEXIT`).\n\n```\nsudo rmmod sgx\nmake r #you should be able to see the \"illegal instruction\" exception\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftristartom%2Fsgx-emulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftristartom%2Fsgx-emulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftristartom%2Fsgx-emulator/lists"}