我正在使用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
谢谢
答案 0 :(得分:2)
您似乎误解了2 ^ 160位范围的目的。
每个标准比特币地址都与公钥的HASH160绑定。 HASH160的长度为160位,这就是为什么您的搜索空间为2 ^ 160的原因。如果您能够找到两个公钥的HASH160相等的私钥,那么这两个私钥中的任何一个都可以花费发送到该地址的硬币。
搜索较小的空间没有意义,因为您不再搜索比特币地址。如果您只想搜索随机散列函数,则只需用另一种可以将RIPEMD160散列函数替换为任何要搜索的位大小输出的函数即可。
请注意,如果执行此操作,则剩下的有关检查余额等问题的代码将无用,因为您的输出将不再是比特币地址。