比特币交易平台——详解:为什么木马能通过比特币钱包盗币

首页 > 钱包秘钥 > 比特币钱包 | 详解:为什么木马能通过比特币钱包盗币

详解:为什么木马能通过比特币钱包盗币

编辑:蓑衣网 日期:2021-10-19 10:37:27 浏览量:

2018年,是公认的区块链大年。随着区块链的经济价值不断升高,促使不法分子利用各种攻击手段获取更多敏感数据,“盗窃”、“勒索”、“挖矿”等,下面小编就开给大家分析下木马钱包盗币原理。

最近比特币的安全问题频发,我本想找个盗取比特币的钱包进行分析,恰巧此时网友smtp在彩云比特论坛发帖揭示LTC木马钱包,并提供了LTC木马钱包样本,我就逆向了木马钱包的程序,分析了钱包盗取LTC的原理,盗取方式同样可以用于比特币及其他山寨币。

比特币安全吗?木马钱包盗币原理分析

一、原理分析

此LTC木马钱包盗取LTC的方式很简单,查看钱包的接收地址时,隐藏钱包的真实接收地址,显示黑客的LTC地址,当向此接收地址发送LTC时,发送的LTC自然就到了黑客的钱包中,永远到不了这个钱包中。

验证过程很简单,先安装LTC木马钱包,创建新的接收地址,然后卸载木马钱包,安装LTC官网钱包,查看接收地址,两者显示的地址是不同的,官网钱包显示的是真实地址,木马钱包显示的是黑客的LTC地址。

钱包中不存在黑客的LTC地址,所以导出私钥失败。官网钱包显示的LTC地址是存在的,可以导出私钥。通过命令dumpprivkey可以验证。

二、钱包显示接收地址

LTC的代码是开源的,黑客下载了LTC代码,做了些修改,重新编译代码,把程序打包,放到网盘中提供下载,盗取网友的LTC。

显示钱包的接收地址,LTC与BTC的代码相同,主要是在列表中显示LTC地址,木马钱包通过修改列表中要显示的LTC地址的字符串,来达到隐藏真实地址的目的。

显示LTC接收地址,主要涉及到2个模块:程序加载时显示接收地址、创建新接收地址。在这里先简单讲解如何在地址列表中显示地址。

钱包的接收地址保存在是类CWallet的mapAddressBook中,接收地址列表是类AddressTablePriv的QListcachedAddressTable控件。

三、黑客修改的代码

木马钱包就是修改了类AddressTablePriv的函数refreshAddressTable、函数updateEntry,在显示、插入地址之前修改显示的接收地址。

1. 函数refreshAddressTable

在调用函数cachedAddressTable.append之前,加入修改显示地址的代码。

2. 函数updateEntry

当CT_NEW时,在调用函数parent->beginInsertRows之后,在调用函数cachedAddressTable.insert之前,加入修改显示地址的代码。

黑客的LTC地址一共10个,按照显示、插入地址的顺序,依次显示这10个地址,超过10个地址时,循环显示。

在木马钱包中定义了一个数组,指向这10个LTC地址。在木马钱包中定义了一个整形变量,标识地址索引,显示此索引指向的LTC地址,然后递增,当等于10时,重置为0。

对于上述几种情况在一定程度上可以采用修改注册表,使用第三方的一些任务管理器来停止任务,重新启动进入命令行模式来手工清除木马,使用一些专杀。

有关详解:为什么木马能通过比特币钱包盗币相关内容分享到这,希望以上蓑衣网小编分享的相关内容能对大家有所帮助。

交易平台快速通道
相关内容
Copyright © 2021-2022 版权归蓑衣网所有.备案信息: 蜀ICP备19005694号-1
本网页内容、图片、视频为模板演示数据,如有涉及侵犯版权,请联系我们提供书面反馈,我们核实后会立即删除。