Coder Social home page Coder Social logo

autoflashgui's People

Contributors

bovirus avatar davidjb avatar lukepicci avatar mswhirl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

autoflashgui's Issues

Proposal - Move build.cmd/clean cmd file to tools sub-folder

Hello.

I have a prossoal about a moving of some files of main folder.

build.cmd and clean.cmd can be moved under tools sub-older (of course you have to modify bild.cmd/clean.cmd to reflect the new location) to have all commands unddr tools sub-folder.

What do you think about it?

I pushed this morining the PR.

I added also some checks about file/folfers exist

Multilanguage code not working

@mswhirl

The source code that check OS language didn't work well.

In my OS (Windows 7 or Windows 10 x64 Italin) DDT4ALL started in English.

The old source code worked fine.

ValueError preventing program launch

Traceback (most recent call last):
File "autoflashgui.py", line 231, in
print(sys.argv, sys.path, os.getcwd())
File "autoflashgui.py", line 36, in getDefaults
config[configKey] = record
ValueError: not enough values to unpack (expected 4, got 3)
[13508] Failed to execute script autoflashgui

This is stopping autoflashgui from starting in cmd.

Running doesn't run =(

Connect attempt 1
<Response [200]>
Modem up
Authenticating
Authentication failed, debug values are: []
Exception in Tkinter callback
Traceback (most recent call last):
File "/Users/marselo/Desktop/TCHNCLRHCK/autoflashgui-master/libautoflashgui.py", line 25, in srp6authenticate
token = br.find(lambda tag: tag.has_attr('name') and tag['name'] == 'CSRFtoken')['content']
TypeError: 'NoneType' object is not subscriptable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/tkinter/init.py", line 1883, in call
return self.func(*args)
File "autoflashgui.py", line 213, in run
res = libautoflashgui.mainScript(self.host.get(), self.username.get().encode(), self.password.get().encode(), self.flashfirmware.get(), self.firmwarefile.get(), self.flashSleepDelay, self.methodActionList.get(), self.command.get(), self.splitActive.get(), self.ddnsService.get(), self.connectRetryDelay, self.interCommandDelay)
File "/Users/marselo/Desktop/TCHNCLRHCK/autoflashgui-master/libautoflashgui.py", line 132, in mainScript
srp6authenticate(br, host, username, password)
File "/Users/marselo/Desktop/TCHNCLRHCK/autoflashgui-master/libautoflashgui.py", line 55, in srp6authenticate
print(_("Exception: ") + str(sys.exc_info()[0]))
NameError: name 'sys' is not defined

Tool localization

@mswhirl

Hello.

Thanks for your tool.

Can i contribute with my knowledge to help you to implement mutli-language interface.

I already done a similar job for DDTALL.

It's very short job and help you to have several languages for your tool.
I believe that to have the tool in native language can help the user to be confident with the tool.

Thanks. Best regards.

VBNT-L no root access | Access denied!

Product Name
MediaAccess TG789MYRvac v2 HP

Software Version
16.3

Firmware Version
16.3.7190-2761003-20170907085601

Firmware OID
59b0ed8197956f5626e64b9a

Bootloader Version
2.0.89

Bootloader OID
unknown

Hardware Version
VBNT-L

OS: Windows 10

Hi there,
Thanks a lot for this tool.
I believe that I have followed the steps correctly, however at the end of running the pyhton script without errors Im unable to login with root:root.

Ive tried it several times, also restored the router a few times without any luck.

Any input would be greatfully appreciated.

Thanks a lot in advance!

Unable to ssh after flashing 16.3 on TG789vac v2

Hello, I've done flashing 17.2 and then 16.3 on my TG789vac v2 using these instructions: https://whirlpool.net.au/wiki/hack_technicolor and those firmwares:

  • https://uno.help/attachments/732 ('MST TG789vac v2 17.2.278-0901008.rbi')
  • ftp://ftp.iinet.net.au/pub/iinet/firmware/TG789vacV2/VANT-6/vant-6_16.3.8046-ver3.0-CRF767-2721002.rbi

The output does not say anything bad, I can confirm version of the flashed firmware using the browser.
But after flashing and running commands I am unable to connect to device using ssh. It seems, the device is not listening on ports 22 or 6666.
When I try to run some command using browser, It get an error (but the POST request returns 200):

IP address: :::::::;/etc/init.d/dropbear restart
Invalid IP address Label within domain name has invalid syntax

Is there some problem with this rooting method?

struggle with dga4132

I have the latest release of autoflashgui. I have a dga4132 with firmware 1.0.3 to try to root it. the webUI works fine. psw is admin/admin. I do not know which bank it has as active (probably bank 1?).
With the latest release it fails to root and or flash the firmware (again flashing 1.0.3) even when other firmwares are installed (still on bank1) like the 2.0.1

this is the log of the autoflashgui latest version (2 methods to flash, none work)
https://pastebin.com/aSyZvirc
this is the log of autoflashgui version dated 25/09/2018 which fails too
https://pastebin.com/HJ1pDQdu

what works with the dga4132 firmware 1.0.3 is autoflashgui version dated 19/01/2018
here is the log
https://pastebin.com/EdbqW5bn

all the versions works with the tg800vac though.

The version of this file is not compatible

I get this error message when trying to launch the program:

The version of this file is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need an x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher.

PC Specs:
image

Proposal - new default path for dfirmware file - Add browse control

Hello.

I have a proposal for an enhancement

Currently the firmware file is defined via default.sini and is in the same folder of autofalshgui.
It seems that there is no check that the firmware file defined is not available.

This is my proposal

Create a firmwares sub-folder. The firmware files should be in this path

Modify the Python code to use for firmware files as default path the firmwares sub-folder
Modify the Python code to add a file check that the firmware file defined in defaults.ini is available.
Modify the Python code to add a browse control to select firmware file from firwmares sub-folder.

Thanks.

Auth script

Hi all,

I would like create a simple script only for the authentication. I've customized "libautoflashgui.py" but I've a problem with my Technicolor AGTHP_1.1.2:

import sys
import mysrp as srp
from urllib.parse import urlencode
import binascii, json, urllib, socket, time
from robobrowser import RoboBrowser

host = '1.1.1.1'
username = 'user'
password = 'pass'

br = RoboBrowser(history=True, parser="html.parser")

try:

  br.open('http://' + host)
  token = br.find(lambda tag: tag.has_attr('name') and tag['name'] == 'CSRFtoken')['content']
  print('Got CSRF token: ' + token)

  usr = srp.User(username, password, hash_alg = srp.SHA256, ng_type = srp.NG_2048)
  uname, A = usr.start_authentication()
  print(("A value ") + str(binascii.hexlify(A)))

  br.open('http://' + host + '/authenticate', method='post', data = urlencode({'CSRFtoken' : token, 'I' : uname, 'A' : binascii.hexlify(A)}))
  print("br.response " + str(br.response))
  j = json.decoder.JSONDecoder().decode(br.parsed.decode())
  print(("Challenge received: ") + str(j))

  M = usr.process_challenge(binascii.unhexlify(j['s']), binascii.unhexlify(j['B']))
  print(("M value ") + str(binascii.hexlify(M)))

  br.open('http://' + host + '/authenticate', method='post', data = urlencode({'CSRFtoken' : token, 'M' : binascii.hexlify(M)}))
  print("br.response " + str(br.response))

  j = json.decoder.JSONDecoder().decode(br.parsed.decode())
  print("Got response " + str(j))

  if 'error' in j:
    raise Exception(("Unable to authenticate (check password?), message:"), j)

  usr.verify_session(binascii.unhexlify(j['M']))
  if not usr.authenticated():
    raise Exception(("Unable to authenticate"))
  else:
    print("Autenticato!")

except Exception:
  print(("Authentication failed, debug values are: "))
  print(("Exception: ") + str(sys.exc_info()[0]))
  traceback.print_exc()
  raise

It produces:

Got CSRF token: 8f06b22c00b9767cf42c2daa1a575e1bd63727332db8c304288edefc127acfe3
A value b'0b68d22f491829bf8517303de617925be6cef22abfaa8a922b26410868c696aa4985958e3075f0af1dab2_bbd240fde23558fef91591be9a2212b69813bf07678d5c0fbe7f6a3131eb794cdf25d7edc34295e90179e96e13f7e4435985e2627cbe2b5efcb826584f07cc8d19e35d310e816b6a1451575c62e26cfcb208a5529c2276159927b28a9f72f9cbf9142030b4ee30c8f06308930bcd7fa0fcd78a10aa89c052417f8c56a7d779bcb0752cb651526033f0f7ba3652dc986f761e2a1b34b28330689d812989eac15da87fddef51b3d76726aa4293655279c8b36e4242750430a36a39c37696bcdd23f1d563f8494603932c3dbd94be8ee61f293c5cb247d'
br.response <Response [200]>
Challenge received: {'B': '6E8A096DE3C9CCA5239827A74DF36B930F9D421D4789331287B2745B4B1ED8C61C1E0A436A8E26F5A2339CD20CF0F9F1A755C0622DCE0143ED1B468EF98FE8736BE099BDF94118625F2241BB9BA22C7FA3A010634635F82114764D669C95A4128F2803E65069557EB545014E07B9C60D6217D919BE3F81C3195C3833EEF7F34D37F5D3DC768DED014B38DB751E0B752E95C42B553F16E8AF8F04B3F45CAC417BD962C1ADEBA42F9C43E1ED131E01E3AFCFA4B09D159843267147A66744D4B14652E1738108C63D59F18229C3F3279565615A5735E8ED5B356AED07E08AC9787EE131C8EFCE8ECE4E3ACD10A5825597CD38B76FA1F99A6D9EF5208C18FFF99234', 's': 'c3e027d8'}
Authentication failed, debug values are:
Exception: <class 'TypeError'>
Traceback (most recent call last):
  File "auth.py", line 30, in <module>
    M = usr.process_challenge(binascii.unhexlify(j['s']), binascii.unhexlify(j['B']))
  File "/home/yo/autoflashgui/autoflashgui-master/mysrp.py", line 304, in process_challenge
    self.x = gen_x( hash_class, self.s, self.I, self.p )
  File "/home/yo/autoflashgui/autoflashgui-master/mysrp.py", line 194, in gen_x
    return H( hash_class, salt, H( hash_class, username + six.b(':') + password ) )
TypeError: Can't convert 'bytes' object to str implicitly

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "auth.py", line 51, in <module>
    traceback.print_exc()
NameError: name 'traceback' is not defined

Any tips?
Thank you very much!

Cannot run on MacOS

pip install robobrowser==0.5.3 and stared:

Traceback (most recent call last):
  File "autoflashgui.py", line 14, in <module>
    import os, sys, time, socket, tkinter.filedialog, liblang, libautoflashgui
  File "/Users/francyesco/Downloads/autoflashgui-master/libautoflashgui.py", line 10, in <module>
    from robobrowser import RoboBrowser
  File "/Users/francyesco/Downloads/autoflashgui-master/venv/lib/python3.7/site-packages/robobrowser/__init__.py", line 3, in <module>
    from .browser import RoboBrowser
  File "/Users/francyesco/Downloads/autoflashgui-master/venv/lib/python3.7/site-packages/robobrowser/browser.py", line 8, in <module>
    from werkzeug import cached_property
ImportError: cannot import name 'cached_property' from 'werkzeug' (/Users/francyesco/Downloads/autoflashgui-master/venv/lib/python3.7/site-packages/werkzeug/__init__.py)

tried pip install Werkzeug==0.16.1 than

['autoflashgui.py'] ['/Users/francyesco/Downloads/autoflashgui-master', '/Users/francyesco/Downloads/autoflashgui-master/venv/lib/python37.zip', '/Users/francyesco/Downloads/autoflashgui-master/venv/lib/python3.7', '/Users/francyesco/Downloads/autoflashgui-master/venv/lib/python3.7/lib-dynload', '/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7', '/Users/francyesco/Downloads/autoflashgui-master/venv/lib/python3.7/site-packages'] /Users/francyesco/Downloads/autoflashgui-master
['/Users/francyesco/Downloads/autoflashgui-master/autoflashgui.py'] ['/Users/francyesco/Downloads/autoflashgui-master', '/Users/francyesco/Downloads/autoflashgui-master', '/Users/francyesco/Downloads/autoflashgui-master/venv/lib/python37.zip', '/Users/francyesco/Downloads/autoflashgui-master/venv/lib/python3.7', '/Users/francyesco/Downloads/autoflashgui-master/venv/lib/python3.7/lib-dynload', '/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7', '/Users/francyesco/Downloads/autoflashgui-master/venv/lib/python3.7/site-packages'] /Users/francyesco/Downloads/autoflashgui-master
Traceback (most recent call last):
  File "/Users/francyesco/Downloads/autoflashgui-master/liblang.py", line 27, in language_default
    if argv[1] == '-l':
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "autoflashgui.py", line 239, in <module>
    liblang.init_language(sys.argv, sys.path, language)
  File "/Users/francyesco/Downloads/autoflashgui-master/liblang.py", line 47, in init_language
    lan = language_default(argv)
  File "/Users/francyesco/Downloads/autoflashgui-master/liblang.py", line 31, in language_default
    lancode2=lancode[0:2]
TypeError: 'NoneType' object is not subscriptable

Finally got it running using also the -l var
python autoflashgui.py -l en

ui a little fucked up:
immagine

VBNT-K

is compatible for VBNT-K and sw AGTEF_2.1.0?
thanks.

werkzeug import cached_property issue

I kept getting a failure with "werkzeug import cached_property". Had to update /usr/local/lib/python3.8/site-packages/robobrowser/browser.py to:

from werkzeug.utils import cached_property

Proposals of changes/improvements for autoflashgui

Proposals of changes/improvements for autoflashgui

  • Check Firmware file (define in defaults.ini) availbility.

  • Add "Firmware" sub-folder (for firmware files)

  • Add a "Browse" control to select firmware file (also keep setting in defaults.ini)

  • Replace "Modem" box selection check box (on the right) with a drop down list selection type.

[SOLVED] Cannot install

I am running Linux Mint 19.1, installed python3.7, installed robobrowser using pip, but when I run python autoflashgui.py this is what happens:

Traceback (most recent call last):
File "autoflashgui.py", line 13, in <module>
import tkinter as tk
ImportError: No module named tkinter

That's where I get stuck. I also installed python-tk and python3-tk, but it did not help.
What should I do? I had a look in a few forums, but got no clue.
Thank you

Root is left Vulnerable to Forced Update by ISP

Once the modem is rooted the password needs to be changed so an ISP forced update doesn't override it and lock the modem. How about putting a button on autoflashgui to [Confirm Secure Root] ie root password changed?

Code not work as expected

In my Windows 7 x64 Italian OS the autoflash.py works fine as expected (started the program with italian interface).

The exe didn't work as expected (started the UI in English).

Show "GUI language = xx" two times.

Please check.

[SSL: CERTIFICATE_VERIFY_FAILED]

Hi,
I get an SSL-error message when I try to connect to my device. Do you have an advice for what I should try to solve the problem?

Device info:
Technicolor TG799vacXTREAM
Software Version 18.1
Firmware Version 18.1.0297-1321006-20191213145958
Hardware Version VANT-W
Bootloader Version 15.38.724-0000000-20150917132051-
ISP: Telenor, Sweden

I have double checked and tripplechecked that I have entered the right password. This is the printout in the terminal window:

Authenticating
Exception in Tkinter callback
Traceback (most recent call last):
File "site-packages\urllib3\connectionpool.py", line 600, in urlopen
File "site-packages\urllib3\connectionpool.py", line 343, in _make_request
File "site-packages\urllib3\connectionpool.py", line 849, in validate_conn
File "site-packages\urllib3\connection.py", line 356, in connect
File "site-packages\urllib3\util\ssl
.py", line 372, in ssl_wrap_socket
File "ssl.py", line 412, in wrap_socket
File "ssl.py", line 850, in _create
File "ssl.py", line 1108, in do_handshake
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verif
y failed: unable to get local issuer certificate (_ssl.c:1045)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "site-packages\requests\adapters.py", line 445, in send
File "site-packages\urllib3\connectionpool.py", line 638, in urlopen
File "site-packages\urllib3\util\retry.py", line 398, in increment
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='192.168.10.1', port=
443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationEr
ror(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to ge
t local issuer certificate (_ssl.c:1045)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "tkinter_init_.py", line 1702, in call
File "autoflashgui.py", line 191, in run
res = libautoflashgui.mainScript(self.host.get(), self.username.get().encode
(), self.password.get().encode(), self.flashfirmware.get(), self.firmwarefile.ge
t(), self.flashSleepDelay, self.methodAction.get(), self.command.get(), self.spl
itActive.get(), self.ddnsService.get(), self.connectRetryDelay, self.interComman
dDelay)
File "libautoflashgui.py", line 69, in mainScript
br._update_state(r)
File "libautoflashgui.py", line 14, in srp6authenticate
br.open('http://' + host)
File "site-packages\robobrowser\browser.py", line 205, in open
File "site-packages\requests\sessions.py", line 512, in request
File "site-packages\requests\sessions.py", line 644, in send
File "site-packages\requests\sessions.py", line 644, in
File "site-packages\requests\sessions.py", line 222, in resolve_redirects
File "site-packages\requests\sessions.py", line 622, in send
File "site-packages\requests\adapters.py", line 511, in send
requests.exceptions.SSLError: HTTPSConnectionPool(host='192.168.10.1', port=443)
: Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(
1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get lo
cal issuer certificate (_ssl.c:1045)')))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.