root# python flare.py 
  File "flare.py", line 48
    return Trueif(__name__ == "__main__"):
                                          ^
SyntaxError: invalid syntax



On Aug 20, 2010, at 3:44 PM, Simbwa Phillip wrote:

Hi everyone,

Like i promised, i have finished the 1 click 3g modem unlock app with GUI. I have called it 3G Flare..

Some could test run it on Linux or Mac OSX  and give me some feedback... I haven't tested it thoroughly coz all the modems around me are now unlocked!

To run this little baby, please follow the instructions below:

1. 3G Flare requires the following python modules to be already installed
- pySerial (available here )
- pyhumod (available here )
- easygui (available here )

2. If you already have the above modules installed proceed with coping the code below and saving it as flare.py

#!/usr/bin/env python

from easygui import *
import sys, os, hashlib, humod

UNLOCK_SALT = "5e8dd316726b0335"
USB_DEV = "/dev/ttyUSB"
USB_DEV_MAX = 5

# This class ensures that we don't kinda get choked by stderr issues
class NullDevice:
        def write(self,s):
                pass

def release_link(data):
        os.system("kill -15 `lsof "+data+" | awk \"{print$2}\"`")

def enum_usbdev():
        devs = []
        for i in xrange(USB_DEV_MAX):
                usbdev = USB_DEV+str(i)
                if os.path.exists(usbdev):
                        devs.append(usbdev)
        return devs

def show_code(imei,salt):
        digest = hashlib.md5((imei+salt).lower()).digest()
        code = 0
        for i in xrange(0,4):
                code += (ord(digest[i])^ord(digest[4+i])^ord(digest[8+i])^ord(digest[12+i])) << (3-i)*8
                code &= 0x1ffffff
                code |= 0x2000000
        return code

def unlock_modem():
        sys.stderr = NullDevice()
        serial_conn = enum_usbdev()
        data = "">        ctrl = serial_conn[1]
        release_link(data)
        mod = humod.Modem(data,ctrl)
        imei = mod.show_imei()
        if os.system("cat "+data+" &"):
                return False
        if os.system("echo -e 'AT^CARDLOCK=\""+str(show_code(imei,UNLOCK_SALT))+"\"\\r' > "+data):
                return False
        release_link(data)
        return Trueif(__name__ == "__main__"):
        sys.stderr = NullDevice()
        while 1:
                msg = "Select Modem Operation"
                title = "::3G Flare Easy & Geeky Way:: Unlock your 3G Modem"
                actions = ['1. Unlock 3G Modem', '2. Load Airtime', '3. Check Airtime balance','4. Terminate Flare']

                action = "">
                if(action == '1. Unlock 3G Modem'):
                        unlocked = unlock_modem()
                        if(unlocked):
                                msgbox("3G Modem unlocked. Fly on any network my friend","3G Flare")
                        else:
                                msgbox("Unlocking failed","3G Flare")

                if(action == '2. Load Airtime'):
                        msgbox("Load Airtime module still under beta testing.. Coming soon","3G Flare")

                if(action == '3. Check Airtime balance'):
                        msgbox("Check Airtime balance module under beta testing.. Coming soon","3G Flare")
                if(action == '4. Terminate Flare'):
                        sys.exit(0)

# ------------------------- Code ends here ---------------------------------------------
                                  

3. The app needs to be run as root since  it tries to free data link of the modem in case its being held by another program like wvdial
  Hence on your terminal start flare like so:

# python flare.py

4. Then the rest is self explanatory

Cheers,

::Phillip::
_______________________________________________
LUG mailing list
[email protected]
http://kym.net/mailman/listinfo/lug

LUG is generously hosted by INFOCOM http://www.infocom.co.ug/

All Archives can be found at http://www.mail-archive.com/[email protected]/

The above comments and data are owned by whoever posted them (including attachments if any). The List's Host is not responsible for them in any way.
---------------------------------------



S
incerely,




Kiggundu Mukasa

SERVAL LTD.
Plot 80 Kanjokya Street
P.O. Box 24284 Kampala, Uganda
Tel: +256 772 972255
     +256 414 571779
Fax: +256 312 262122

http://serval.ug


_______________________________________________
LUG mailing list
[email protected]
http://kym.net/mailman/listinfo/lug

LUG is generously hosted by INFOCOM http://www.infocom.co.ug/

All Archives can be found at http://www.mail-archive.com/[email protected]/

The above comments and data are owned by whoever posted them (including 
attachments if any). The List's Host is not responsible for them in any way.
---------------------------------------

Reply via email to