更改Plutus.py的比特币钱包地址范围

时间:2018-10-23 00:31:03

标签: python bitcoin private-key

我正在使用https://github.com/Isaacdelly/Plutus/blob/master/plutus.py

中的以下脚本

该脚本适用于2 ^ 160范围内的钱包地址。我很好奇在脚本中我可以在哪里更改它以查看2 ^ 128范围或2 ^ n范围。甚至可以有一个窗户吗?像2 ^ 0-2 ^ 100?

不尝试做任何恶意的事,只是试图获取数据以表明由于地址数量众多,即使选择范围也是徒劳的。

Set "OldString1=WinFullScreen=1"
Set "NewString1=WinFullScreen=0"
Set "OldString2=WinWidth=1032"
Set "NewString2=WinWidth=1000"
Set "OldString3=WinHeight=748"
Set "NewString3=WinHeight=700"

@ECHO OFF &SETLOCAL
cd /d F:\
for %%x in (INTOUCH.INI) do call:process "%%~x"
goto:eof

:process 
set "outFile=%~n1_edited%~x1" 
(for /f "skip=2 delims=:" %%a in ('find /n /v "" "INTOUCH.INI"') do (
      set "ln=%%a"
      Setlocal enableDelayedExpansion 
      set "ln=!ln:*]=!"
      if defined ln (
           set "ln=!ln:%OldString1%=%NewString1%!"
           set "ln=!ln:%OldString2%=%NewString2%!"
           set "ln=!ln:%OldString3%=%NewString3%!"
           )
      echo(!ln!
      endlocal
))>"%outFile%"
Exit /b

谢谢

1 个答案:

答案 0 :(得分:2)

您似乎误解了2 ^ 160位范围的目的。

每个标准比特币地址都与公钥的HASH160绑定。 HASH160的长度为160位,这就是为什么您的搜索空间为2 ^ 160的原因。如果您能够找到两个公钥的HASH160相等的私钥,那么这两个私钥中的任何一个都可以花费发送到该地址的硬币。

搜索较小的空间没有意义,因为您不再搜索比特币地址。如果您只想搜索随机散列函数,则只需用另一种可以将RIPEMD160散列函数替换为任何要搜索的位大小输出的函数即可。

请注意,如果执行此操作,则剩下的有关检查余额等问题的代码将无用,因为您的输出将不再是比特币地址。