AirBlog

  • 首页
  • 技术杂谈
  • 资源分享
  • 学习笔记
  • MikuTools
  • 公告
    • 开张篇
AirTed的博客~
一个小小的博客,记录着大大的梦想
  1. 首页
  2. 技术杂谈
  3. 正文

xmrig 无抽水修改及编译

2021年10月11日 3707点热度 3人点赞 0条评论

之前看过几篇0抽水的文章,用上了,忘记备份了,现在被某乎删除了,只好用网页镜像记录下,防止丢失。

粗略版

下载源代码

git clone https://github.com/xmrig/xmrig.git

安装msys2

MSYS2:MSYS2 homepage
安装msys2
我这里装的是64位的。

直接下载不了可以通过使用迅雷进行下载。

下载依赖包

依赖包:xmrig-deps
解压,放到某目录

使用 mingw64.exe shell. 安装必备的 MSYS2 包:

pacman -Sy
pacman -S mingw-w64-x86_64-gcc
pacman -S make
pacman -S mingw-w64-x86_64-cmake
pacman -S mingw-w64-x86_64-pkg-config

会提示出错,再次运行会提示“错误:无法同步任何数据库”。

出现错误的原因是,之前同步的时候,我手动中断了进程,导致之前进程锁文件未被释放。

解决办法,删掉之前的文件: /var/lib/pacman/db.lck

删除之后,恢复了。

更换软件源

这里要更换软件源,改为国内的。
pacman配置

可以从这里直接复制:

Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686

编译

CMake build:

mkdir build
cd build
cmake .. -G "Unix Makefiles" -DXMRIG_DEPS=c:/xmrig-deps/gcc/x64
make

编译成功,运行看看:

编译成功运行成功

费率5%,开始我们的手术吧!

修改源代码

找到根目录下的donate.h

constexpr const int kDefaultDonateLevel = 5;
constexpr const int kMinimumDonateLevel = 1;

修改为:

constexpr const int kDefaultDonateLevel = 0;
constexpr const int kMinimumDonateLevel = 0;

再次编译

打开“MSYS2 MinGW 64-bit”执行如下命令:
make
make
成功,再次执行结果如下,费率为0:
费率为0
大工告成。。。。

转自:https://zhuanlan.zhihu.com/p/100083701
转自:http://www.zhushiyao.com/?p=62618


粗略版2

通过修改源代码去除XMRig抽水的方法
记录一次编程学习理解源码的经历。
xmrig软件抽水最低为1%,如果在config配置文件中改成0%,就会恢复到默认的1%。若要完全去除抽水,只能修改源代码。以6.14.1为示例,其余版本均适用。

操作系统:Windows10
所需工具:

VS2019:Visual Studio 2019
cmake:CMake
xmrig依赖包(最新版为1.41.0):https://http://github.com/xmrig/xmrig-deps
xmrig-6.14.1源代码:Releases · xmrig/xmrig
xmrig-6.14.1现成版:Releases · xmrig/xmrig

安装好上述软件,解压三个压缩包(下面以E盘根目录为例)。
解压现成版的时候杀毒软件会报毒,记得恢复exe文件并加入信任区。
目录

一、生成.sln文件

  1. 打开适用于vs2019的64位本机工具命令提示:
    打开vs2019_64位本机工具命令

  2. 进入之前已经解压在E盘根目录的源代码目录xmrig-6.14.1,建立build文件夹,再cd到build文件夹。

e:
cd xmrig-6.14.1
mkdir build
cd build

vs2019_64位本机工具命令

  1. 根据依赖包xmrig-deps-masters中README的提示,输入如下代码:
    readme提示
    cmake .. -G "Visual Studio 16 2019" -A x64 -DXMRIG_DEPS=E:\xmrig-deps-master\msvc2019\x64
    命令执行过程
    提示配置完成,在xmrig-6.14.1/build文件中会生成xmrig.sln文件,接下来就可以进行编译了。

二、使用vs2019编辑源码

  1. 用vs2019打开xmrig.sln,在右侧解决方案资源管理器中搜索donate,进入donate.h文件。
    解决方案资源管理器

  2. 将默认捐献比例和最低捐献比例都调至0%,即可实现0抽水。
    调整0抽水

  3. 生成Release文件:先调至Release模式,再点击生成xmrig。等待编译好以后可以在E:\xmrig-6.14.1\build\Release文件夹中找到xmrig.exe。
    这一步exe文件生成出来之后杀毒软件会报毒,记得要从隔离区恢复。最好把xmrig存在的地方都添加至信任区。
    版本选择
    生成xmrig
    生成成功

三、替换原文件,测试效果

  1. 将刚才Release生成的xmrig.exe复制到现成版的文件夹E:\xmrig-6.14.1-msvc-win64\xmrig-6.14.1,替换原文件。
  2. 修改config.json配置文件,将捐赠(抽水)比例"donate-level"改成0,正确填写你的钱包地址和矿池地址。
    配置config.json
  3. 打开xmrig.exe,可以看到DONATE显示红色的0%,大功告成!
    成功

详细版

请注意:官网中提供的矿机程序是有抽水的,抽水比例为1-99,也就是说你挖矿100份的收益,要分给官方1-99份,抽水在矿机的配置文件中可以设置,最低为1,即使你设置为0,它也会默认改成1。

辛辛苦苦挖矿,却要被官方强行抽水1份,心里一定很不爽,那怎么才能实现0抽水挖矿呢?下面就教大家自己利用源代码自己编译门罗币矿机。

我们主要讲解两个编译平台:windows和linux,macOS由于使用的人不多,且苹果机是贵族机器,又贵性能又低下,用来挖矿实在不合适,也就不介绍了。

首先需要说明的是,你在windows平台编译出来的矿机,是可以在win7,win8,win10等windows机器中无障碍运行的,而你在linux平台中编译出来的矿机,同样也可以在linux平台中无障碍运行。

官方最新版6.15.0,这个版本增加了一种新的算法RandomX Graft (rx/graft),增加了自动数字货币检测等功能。

windows 64位环境编译矿机

环境说明:
随便win7、win10,只要是64位机器即可。

  1. 下载并安装windows版的cmake.exe和git,git的安装就不介绍了,很简单请自行百度,下面主要介绍cmake的安装。
    官网地址:Download | CMake
    可以下载版本为:cmake-3.21.1-windows-x86_64.zip,然后将它解压到c盘的一个目录,比如我这里的目录为C:\cmake-3.21.1-windows-x86_64,目录结构如下图:
    cmake目录结构

  2. 建立一个门罗币矿机编译目录,把预编译依赖文件和门罗币源代码全都放置在这个目录下,比如我这里的目录是E:\moneroCompileEnv

  3. 安装预编译支持文件
    在E:\moneroCompileEnv目录下执行git clone https://github.com/xmrig/xmrig-deps.git,这样预编译支持文件就下载好了,目录结构如下图:
    xmrig-deps目录结构

之后有MSYS2和Microsoft Visual Studio 2019两种编译方式,我们选择MSYS2的方式,因为VS2019很大很笨重,我们选择更为轻便的编译方式。

  1. 官网下载并安装MSYS2,地址:msys2安装方法不难,详细请参考官网。

  2. 安装好MSYS2以后,在其控制台执行如下命令,主要是一些初始化操作:

pacman -Syu #更新基础包和安装包库
pacman -Su #更新剩余基础包
pacman -S mingw-w64-x86_64-gcc git make #安装gcc,git,make

之后注意,一定要关闭控制台,否则后面编译可能会出错。

  1. “开始”菜单运行“MSYS MinGW 64 位”,之后出现MSY2控制台,然后在控制台下执行如下命令:
    (1). cd E:\moneroCompileEnv #我们把xmrig-deps和xmrig都放在此目录下
    (2).下载矿机源码:git clone https://github.com/xmrig/xmrig.git
    下载好以后,xmrig就在E:\moneroCompileEnv目录下了,如下图:
    moneroCompileEnv目录
    (3).修改源代码为0抽水
    修改E:\moneroCompileEnv\xmrig\src目录下的donate.h文件,将kDefaultDonateLevel和kMinimumDonateLevel都改成0即可。
    https://pic3.zhimg.com/80/v2-07d57037ef9f5646979c67cb55fdbada_720w.jpg修改抽水
    如果不放心,还可以再修改捐赠代理域,E:\moneroCompileEnv\xmrig\src\net\strategies目录下的DonateStrategy.cpp文件,将kDonateHost和kDonateHostTls改成你自己的代理域即可,这样捐赠也是给自己。
    代理域
    (4).在xmrig目录下创建build文件夹并进入
    mkdir xmrig\\build && cd xmrig\\build
    注意:是\,单\可能出错。
    (5).利用cmake.exe生成makefile
    "C:\cmake-3.21.1-windows-x86_64\bin\cmake.exe" .. -G "Unix Makefiles" -DXMRIG_DEPS=E:\\moneroCompileEnv\\xmrig-deps\\gcc\\x64
    生成makefile
    说明:
    "C:\cmake-3.21.1-windows-x86_64\bin\cmake.exe"是你的cmake.exe安装位置,如果和我不一样,请设置正确,双引号不要去掉。
    DXMRIG_DEPS=设置预编译依赖位置,如果和我不一样,请设置你自己的,注意要用双\,单\可能出错。
    (6).开始编译
    make -j$(nproc)
    开始编译
    编译完成

7.等待编译完成以后,在E:\moneroCompileEnv\xmrig\build目录下会生成全套的矿机程序,除了配置文件一应俱全,生成文件如下:

benchmark_1M.cmd #这是benchmark测试命令,挖矿用不上
benchmark_10M.cmd #同上
libxmrig-asm.a #这是静态依赖库,exe文件放同目录下
pool_mine_example.cmd #这是例子启动命令,可以不用
solo_mine_example.cmd #同上
WinRing0x64.sys #这是依赖库,和exe文件放同目录下
xmrig.exe #这是矿机程序,可以直接双击启动
config.json #不是自动生成的,官方源码会有,或者用我提供的

8.配置并运行自己的矿机

将第7步所有文件放在一个文件夹下,比如xmrig文件夹下,然后使用nodepad++打开config.json文件,并编辑如下内容:

url设置矿池域名+端口,如pool.hashvault.pro:3333

user设置你自己的门罗币钱包地址,如48edfHu7V9Z84YzzMa6fUueoELZ9ZRXq9VetWzYGzKt52XU5xvqgzYnDK9URnRoJMk1j8nLwEVsaSWJ4fhdUyZijBGUicoD

pass设置你的矿机的名字,如menluo123

donate-level和donate-over-proxy设置为0,这样就不抽水了。

配置config

设置好以后保存config.json,然后双击运行xmrig.exe即可开始挖矿赚钱,注意此时DONATE为0%,没有抽水了。
开始运行

关于CPU使用率的设置

用nodepad++打开config.json文件,并编辑如下内容:

以16核电脑为例,每个核心编号是0,1,2,3...,14,15,总共16个核心,如果想设置50%的CPU使用率,则设置"rx": [0, 2, 4, 6, 8, 10, 12, 14],这样编号为双号的核心就全速工作了,剩下的8个单号核心闲置,如果想设置6个核心工作,则设置设置"rx": [0, 2, 4, 6, 8, 10]。

即在rx数组中,设置哪个核心编号,哪个核心就会工作,未设置的核心不参与。
打开config.json

ubuntu 64位环境编译矿机

环境说明:
这里选用ubuntu 1604的64位版,当然1804和2004也是可以的,但官方建议为1604。

linux环境下有两种编译方法,一种是基本构建,另外一种是高级构建。

基本构建出来的矿机程序只能运行在本地的linux系统中,拿到其他linux系统可能会无法运行,而高级构建出来的矿机程序,可以在所有linux系统上运行。

基本构建:

  1. 安装所有依赖
    sudo apt-get install git build-essential cmake libuv1-dev libssl-dev libhwloc-dev

  2. 克隆代码
    git clone https://github.com/xmrig/xmrig.git

  3. 修改代码为无抽水,请参考windows版本中的代码修改介绍。

  4. 在xmrig目录中构建build目录,并cd到它。
    mkdir xmrig/build && cd xmrig/build

  5. 运行cmake程序自动生成编译所需的makefile文件
    cmake ..

  6. 运行make开始编译
    make -j$(nproc)

  7. 编译完成后,在build文件夹下会生成xmrig可执行程序。

  8. 将xmrig和config.json两个文件放在一个文件夹下,然后配置config.json,配置方法请参考windows版。

  9. 配置完成后,给xmrig可执行权限并运行,就可以正常挖矿了。

sudo chmod +x xmrig
./xmrig

高级构建:

  1. 安装所有依赖
    sudo apt-get install git build-essential cmake automake libtool autoconf

  2. 克隆代码
    git clone https://github.com/xmrig/xmrig.git

  3. 为xmrig创建build文件夹,然后cd到xmrig/scripts,因为高级构建需要使用官方脚本。
    mkdir xmrig/build && cd xmrig/scripts

  4. 运行官方构建脚本,生成预编译文件
    ./build_deps.sh && cd ../build

  5. 使用cmake自动生成编译所需要的makefile文件
    cmake .. -DXMRIG_DEPS=scripts/deps

  6. 执行make开始编译,等待编译完成
    make -j$(nproc)

  7. 配置和部署矿机程序,请参考基本配置中的介绍即可。

转自:https://zhuanlan.zhihu.com/p/401843988

标签: 暂无
最后更新:2022年5月3日

airted

这个世界从来不缺天才,只缺乏利用天分坚持理想和信念不断创新的人,这些人用恒心和努力缔造一个又一个传奇

点赞
< 上一篇
下一篇 >

airted

这个世界从来不缺天才,只缺乏利用天分坚持理想和信念不断创新的人,这些人用恒心和努力缔造一个又一个传奇

最新 热点 随机
最新 热点 随机
通过MinIO(Docker版) + Nginx反代 自建OSS,为自己便利提供独享网盘 [Docker]mihomo for Docker [转]利用Fake location进行步道乐跑,咕咚等校园跑刷步教程 回忆版 学习SQL Server Docker正常运行时,出现卡死问题
配置Chrome扩展程序安装白名单 漏洞复现思路 xmrig 无抽水修改及编译 [笔记]记录一下各种推送机器人 在Centos7中安装Docker
标签聚合
Go Linux youtube-dl Docker Python SQL Server 文件传输 Fake Location

又拍云logo

COPYRIGHT © 2018-2024 AIRBLOG.

Theme Kratos Made By Seaton Jiang

粤ICP备18106226号