All Projects → Deniskore → nand_nor

Deniskore / nand_nor

Licence: MIT license
C++ Compile time NAND/NOR obfuscation

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to nand nor

Lazy importer
library for importing functions from dlls in a hidden, reverse engineer unfriendly way
Stars: ✭ 544 (+1600%)
Mutual labels:  obfuscation, compile-time
Cemu-UI
A user interface for the Wii U emulator, Cemu
Stars: ✭ 21 (-34.37%)
Mutual labels:  emulation
oxorany
obfuscated any constant encryption in compile time on any platform
Stars: ✭ 155 (+384.38%)
Mutual labels:  compile-time
dingusppc
An experimental emulator
Stars: ✭ 106 (+231.25%)
Mutual labels:  emulation
Berserker
Obfuscate your Python scripts better, faster.
Stars: ✭ 81 (+153.13%)
Mutual labels:  obfuscation
react-obfuscate
An intelligent React component to obfuscate any contact link!
Stars: ✭ 87 (+171.88%)
Mutual labels:  obfuscation
em400
MERA 400 emulator
Stars: ✭ 36 (+12.5%)
Mutual labels:  emulation
AnnotationInject
Compile-time Swift dependency injection annotations
Stars: ✭ 40 (+25%)
Mutual labels:  compile-time
chip-8
A CHIP-8 Emulator written in Haskell
Stars: ✭ 34 (+6.25%)
Mutual labels:  emulation
apint
Arbitrary precision integers library.
Stars: ✭ 23 (-28.12%)
Mutual labels:  emulation
angrylion-rdp-plus
A low-level N64 video emulation plugin, based on the pixel-perfect angrylion RDP plugin with some improvements.
Stars: ✭ 143 (+346.88%)
Mutual labels:  emulation
MetropolisLauncher
A data-heavy Emulation & Gaming front-end for Windows
Stars: ✭ 35 (+9.38%)
Mutual labels:  emulation
UTM
Virtual machines for iOS and macOS
Stars: ✭ 16,904 (+52725%)
Mutual labels:  emulation
BuildTimeLogger-for-Xcode
A console app for logging Xcode build times and presenting them in a notification
Stars: ✭ 43 (+34.38%)
Mutual labels:  compile-time
6502.ts
Emulators for MOS 6502 based systems written in TypeScript
Stars: ✭ 50 (+56.25%)
Mutual labels:  emulation
demo-emulator
Nintendo Game Boy emulator written in Go to be used in workshops about emulator programming
Stars: ✭ 41 (+28.13%)
Mutual labels:  emulation
EmulationResources
Collection of resources for emulator developers
Stars: ✭ 80 (+150%)
Mutual labels:  emulation
folm
Folm
Stars: ✭ 16 (-50%)
Mutual labels:  obfuscation
VisualBasicObfuscator
Visual Basic Code universal Obfuscator intended to be used during penetration testing assignments.
Stars: ✭ 115 (+259.38%)
Mutual labels:  obfuscation
cpm8266
Z80-CP/M2.2 emulation on ESP8266 NONOS SDK + the NoSDK from cnlohr
Stars: ✭ 110 (+243.75%)
Mutual labels:  emulation

Prerequisites

  • MSVC 2019+ It's better to use clang-cl because of this bug
  • Clang 7.0+
  • GCC 8.3+
  • Gtest
  • CMake
  • Ninja build (optional)

For Windows:

Use vcpkg or conan package managers to install Gtest library

For Linux (depends on your distro):

Ubuntu

sudo apt-get install libgtest-dev

Fedora

sudo dnf install gtest-devel

Building

Don't forget to specify toolchain file if you use package managers (-DCMAKE_TOOLCHAIN_FILE=...)

cmake -G "Ninja" ..
ninja

Diff

For each compilation you will get different assembly code

uint64_t diff_me(uint64_t x) {
  using u64 = uint64_t;
  CNNInt<u64> r(std::chrono::system_clock::now().time_since_epoch().count());
  CNNInt<u64> test(x);
  test++;
  test--;
  test|=r;
  test^=r;
  test&=r;
  test^=r;
  test = ~test;
  return test.value();
}

For example: first second

Difference (relyze.com tool)
81.13%  diff_me  -  diff_me
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].