区块链-C++挖矿软件XMRIG源码分析
C++挖矿软件源码分析
- 3rdparty
- backend
- grgon2
- Obfusheader.h
- main 程序 xmrig.cpp
- xmrig命名空间
- process类
- Entry::Id
- App类
- Core
-
- Controller
- base
-
- tool
- kernel
-
- interfaces
- DonateStrategy.cpp
- donate.h
- /2/dmi
- Cmake 跨平台的自动化构建系统
-
- CMakeLists.txt
- .cmake 13个引入
- 算力
-
- 哈希率 Hashrate
-
- EH/s(ExaHashes per Second)
- PH/s(PetaHashes per Second)
- TH/s(TeraHashes per Second) 太哈希每秒
- GH/s(GigaHashes per Second) 十亿哈希每秒
- MH/S 百万哈希每秒
- KH/s(KiloHashes per Second) 千哈希每秒
- “挖矿”过程和行为
- WDMS 2024(全球数字矿业峰会)
- CPU / GPU / ASIC 矿机 / CDN
- 哈希算法
- RandomX
- 交易所
- 资源
3rdparty
“第三方”库或工具的集合
backend
挖矿算法、区块链交互、矿池通信
grgon2
密码哈希函数,也是密码哈希竞赛(PHC)的冠军,它以其高内存占用和计算密集型特性而著称,这使得它对于GPU和其他定制硬件的破解攻击具有很高的抵抗力。
作为工作量证明(Proof of Work, PoW)算法的一部分
Obfusheader.h
编译时混淆终极利器
git clone https://github.com/ac3ss0r/obfusheader.h.git
INLINE void secureFunction() {
// 安全操作...
}
#include "obfusheader.h"
int main() {
// 示例:使用RND宏生成编译时常量随机数
constexpr int randomNumber = RND(0, 10);
std::cout << "Random Number: " << randomNumber << std::endl;
// 使用MAKEOBF创建加密字符串并解密显示
const char* obfuscatedString = (char*)MAKEOBF("Hello, Secure World!");
std::cout << "Decrypted String: " << obfuscatedString << std::endl;
return 0;
}
main 程序 xmrig.cpp
argc代表命令行参数的数量,argv是一个指向字符串数组的指针,这些字符串包含了传递给程序的命令行参数
xmrig命名空间
在这个作用域内,你可以直接使用xmrig命名空间中的所有成员(类、函数等),而不需要在它