You're only a few steps away from deploying Alkemist:Source into your CentOS environment!
1 of 4
Select CentOS Distribution
Need to know your distribution? Run this command in a terminal: cat /etc/centos-release. The displayed release will match one of those to the left if Alkemist:Source supports it. RHEL instructions are similar to these and can be found on a dedicated Deploy page.
2 of 4
# Add RunSafe repo to list of those yum will check for packagessudotee /etc/yum.repos.d/runsafesecurity.repo> /dev/null <<-EOM[RunSafeSecurity]name=RunSafeSecuritybaseurl=https://runsafesecurity.jfrog.io/artifactory/rpm-alkemist-lfrenabled=1gpgcheck=0gpgkey=https://runsafesecurity.jfrog.io/artifactory/rpm-alkemist-lfr/repodata/repomd.xml.keyrepo_gpgcheck=1EOM# Install alkemist-lfrsudo yum -y install alkemist-lfrsource /etc/profile.d/alkemist-lfr.sh
Run these commands on your system to create the file /etc/yum.repos.d/runsafesecurity.repo to let it know to look for Alkemist:Source's Load-time Function Randomization (LFR) packages on our servers and then install Alkemist:Source.
3 of 4
Build with Alkemist:Source
# ALKEMIST_LICENSE_KEY=<your license key> lfr-helper <your build command># For example, to build the hello_world.c shown in the next tab you would run:sudo yum -y install gccALKEMIST_LICENSE_KEY=<insert Alkemist license here> lfr-helper gcc -o hello_world hello_world.c
Now that your system contains the files necessary for Alkemist:Source to run, prepend your build commands (make, gcc, g++, etc) with lfr-helper to automatically integrate Alkemist:Source into your existing build process.
The command shown will build the given hello_world.c into an Alkemist:Source-protected program called hello_world, but you can add lfr-helper to any build command, simple or complex.
4 of 4
Verify Alkemist:Source Protection
# Use ldd to see which libs have been included in the given binary# ldd <binary name> | grep lfr# For example, with the hello_world from the previous stepldd ./hello_world |grep lfr# This will return a line similar to the one below, but with a different memory address# $ liblfr.so => /usr/local/lib/liblfr.so (0x7f659d514000)
Each tab shows a different way to confirm that Alkemist:Source has been applied to a given binary. The examples are for the hello_world binary built in the previous step.