Форум сайта python.su
Привет всем!!!
В общем есть приложение-будильник NiceAlarm http://very-soft.com/product/nicealarm и есть брут на питоне. Только заставить работать его не получается т.к. писался он под другое разрешение экрана (сразу говорю что писался не мной и я в питоне О).
Сам процесс следующий: при регистрации появляется два поля для ввода, одно для капчи появляющейся чуть выше, другое для самого кода. Код пятизначный. Требуется чтобы работал на экране 360х640. Может кто нибудь поможет?
Вот листинг:
import appuifw
import e32
import keypress
import os
import string
import appswitch
import graphics
import md5
regkey=[0, 0, 0]
def regkeyset(str):
return map(ord, str[0:3])
def regkey2ascii():
return string.joinfields(map(chr, regkey), "")
def regkeyincr():
regkey[0]+=1
if (regkey[0]>255):
regkey[1]+=1
regkey[0]=0
if (regkey[1]>255):
regkey[2]+=1
regkey[1]=0
def regkey2digit():
return 65536*regkey[2] + 256 * regkey[1]+ 1 * regkey[0]
def imgcomp(img1, img2):
size1=img1.size
size2=img2.size
if(size1 == size2):
#for x in xrange(size1[0]):
for x in xrange(45,75):
for y in xrange(size1[1]):
#for y in xrange(50, size1[1]):
if(img1.getpixel((x, y)) == img2.getpixel((x, y))):
continue
else:
return 0
return 1
else:
return 0
def exit():
appuif.app.set_exit
def sleep(seconds):
e32.ao_sleep(float(seconds))
def sim_key(code1, code2=0):
# keypress.simulate_key(code1, code2)
keypress.simulate_key_mod(code1, code2, 0)
sleep(0.01)
def stopping(key):
if (key == 63497):
os.abort()
def get_app_in_stack(index):
global log
try:
apps = appswitch.application_list(True) # true = include all
# false = no hidden apps
if index >= len(apps):
return u"!_index_error_!"
return str(apps[index])
except:
return u"!_getting_app_error_!"
appuifw.app.exit_key_handler = exit
import keycapture
capturer = keycapture.KeyCapturer(stopping)
capturer.forwarding = 1
capturer.keys = [63497]
capturer.start()
appuifw.note(u'Dlya ostanovki nazhmite BBEPX =>', 'info')
# o?p?ae??? peAc?a??
try:
bmp_file = open("C:\\Data\\Verysoft\\NiceAlarm\\nicealarm17.dat", "r+b")
except IOError, err:
print err.strerror
#appswitch.kill_app(u'X-plore')
buff = bmp_file.read()
regkey=regkeyset(buff)
bmp_file.close()
fl=0
while (regkey2digit() < 99999):
regkeyincr()
try:
bmp_file = open("C:\\Data\\Verysoft\\NiceAlarm\\nicealarm17.dat", "r+b")
except IOError, err:
print err.strerror
bmp_file.seek(0, 0)
bmp_file.write(regkey2ascii())
bmp_file.write(buff[3:])
bmp_file.close()
if get_app_in_stack(0) != u'NiceAlarm':
e32.start_exe('niceAlarm_0x20008998.exe', '', 0)
sleep(1)
sim_key(63554,63554)
sleep(0.05)
img2 = graphics.screenshot()
if (fl == 0):
img1 = img2
fl = 1
else:
if (not imgcomp(img1, img2)):
break
#else:
#appswitch.kill_app(u'NiceAlarm')
sim_key(63555,63555)
sleep(0.01)
sim_key(63555,63555)
sleep(0.01)
e32.reset_inactivity()
Отредактировано (Авг. 2, 2011 23:05:13)
Офлайн