• Become a Premium Member for $25/year with no ads to improve your community experience.

VirtualSMC

VirtualSMC Latest Official Release

No permission to download
Advanced Apple SMC emulator in the kernel. Requires Lilu for full functioning.

Features
  • Supports macOS 10.8 and newer (10.9 and newer is recommended)
  • Implements MMIO protocol and interrupt-based responses for compatibility with modern OS
  • Properly reports key attributes and r/w protection in the keys
  • Allows tuning on per-model basis and allows to use different SMC generations
  • Extensible by the plugins for sensor and key addition support
  • Enables smcdebug=XX boot argument support on 10.9
  • Replaces hardware SMC it finds (to disable SMC entirely you need to flash a dedicated firmware)
Boot arguments
  • Add -vsmcdbg to enable debug printing (available in DEBUG binaries).
  • Add -vsmcoff to switch off all the Lilu enhancements.
  • Add -vsmcbeta to enable Lilu enhancements on unsupported os (10.13 and below are enabled by default).
  • Add -vsmcrpt to report about missing SMC keys to the system log.
  • Add -vsmccomp to prefer existing hardware SMC implementation if found.
  • Add vsmcgen=X to force exposing X-gen SMC device (1 and 2 are supported).
  • Add vsmchbkp=X to set HBKP dumping mode (0 - off, 1 - normal, 2 - without encryption).
  • Add vsmcslvl=X to set value serialisation level (0 - off, 1 - normal, 2 - with sensitive data (default)).
  • Add smcdebug=0xff to enable AppleSMC debug information printing.
  • Add watchdog=0 to disablle WatchDog timer (if you get accidental reboots).
Credits
  • Apple for macOS
  • netkas for the original idea of creating a software SMC emulator
  • CupertinoNet for reversing most of MMIO protocol and SMC headers
  • Alex Ionescu for the initial reverse of SMC firmware
  • 07151129 for co-devoloping VirtualSMC and invaluable help during the research
  • lvs1974 for developing laptop sensor support
  • usr-sse2 for developing laptop sensor support
  • theopolis for smc-fuzzer tool
  • kokke for tiny-AES-c
  • vit9696 for Lilu.kext and this software
  • Additional big thanks go to all the contributors and researchers involved in Apple SMC exploration
LICENSE:
Copyright (c) 2017, vit9696 All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Author
Cyberdevs
Downloads
469
Views
6,885
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from Cyberdevs

Share this resource