当前位置: 首页 > article >正文

区块链-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命名空间中的所有成员(类、函数等),而不需要在它


http://www.kler.cn/a/377707.html

相关文章:

  • python在word的页脚插入页码
  • 使用 pytorch 运行预训练模型的框架
  • 打包IPA包上传,报错“您的可执行文件包含不受支持的体系结构(×86 _64 i386)”
  • 【Java设计模式】16-26章
  • el-table 滚动条重置 手动控制滚动条
  • Java实现动态切换ubuntu壁纸功能
  • centos7.X zabbix监控参数以及邮件报警和钉钉报警
  • TCP Analysis Flags 之 TCP Keep-Alive
  • 春秋云境CVE-2022-21661,sqlmap+json一把梭哈
  • 微信小程序scroll-view吸顶css样式化表格的表头及iOS上下滑动表头的颜色覆盖、z-index应用及性能分析
  • Unknown at rule @tailwindscss(unknownAtRules)
  • 使用 web (vue 和DRF))实现 模拟一个IDE 功能思路
  • NIO 核心知识总结
  • RGA DEMO 上部
  • [BJDCTF 2020]babystack-好久不见9
  • Web API中的requestAnimationFrame
  • 基于深度学习的自主飞行器导航
  • RHCE——笔记
  • FPGA技术优势
  • Linux——Ubuntu的基础操作
  • .tags > * 直接子选择器的使用
  • Docker篇(安装容器)
  • 力扣每日一题 3226. 使两个整数相等的位更改次数
  • 建设NFS服务器并实现文件共享
  • 校园社团信息管理:Spring Boot技术的应用与挑战
  • 【系统设计】让 Java “动起来”:动态语言与静态语言的比较及 DSL 实现