Форум сайта python.su
Добрый день.
Есть скрипт для python s60 для symbian 9:
import appuifw
import e32
import keypress
import os
import appswitch
import graphics
def exit():
appuifw.app.set_exit()
def sleep(seconds):
e32.ao_sleep(float(seconds))
def sim_key(code1, code2 = 0):
keypress.simulate_key(code1, code2)
sleep(0.10000000000000001)
def stopping(key):
if (key == 63499):
os.abort()
appuifw.app.exit_key_handler = exit
lastpath = ‘c:/lastx.txt’
try:
f = open(lastpath, ‘r’)
initcode = int(f.read())
f.close()
except:
initcode = 0
import keycapture
capturer = keycapture.KeyCapturer(stopping)
capturer.forwarding = 1
capturer.keys =
capturer.start()
appuifw.note(u'Dlya ostanovki nazhmite karandash =>', ‘info’)
while (initcode < 100000):
e32.start_exe('X-plore.exe', '', 0)
sleep(7)
sim_key(63554)
while True:
sim_key(63554)
sim_key(63497)
sim_key(63497)
sim_key(63554)
code = str(initcode)
while (len(code) < 5):
code = (u“0” + code)
for k in range(len(code)):
q = int(code)
sim_key((48 + q),(48 + q))
sim_key(63554)
sim_key(63554)
img = graphics.screenshot()
rgb = img.getpixel((275,120))
if (rgb == ):
initcode += 1
sim_key(63554)
sim_key(63554)
sim_key(63497)
sim_key(63497)
sim_key(63554)
code = str(initcode)
while (len(code) < 5):
code = (u“0” + code)
for k in range(len(code)):
q = int(code)
sim_key((48 + q),(48 + q))
sim_key(63554)
sim_key(63554)
img = graphics.screenshot()
rgb = img.getpixel((275,120))
if (rgb == ):
initcode += 1
sim_key(63554)
sim_key(63554)
sim_key(63497)
sim_key(63497)
sim_key(63554)
code = str(initcode)
while (len(code) < 5):
code = (u“0” + code)
for k in range(len(code)):
q = int(code)
sim_key((48 + q),(48 + q))
sim_key(63554)
sim_key(63554)
img = graphics.screenshot()
rgb = img.getpixel((275,120))
if (rgb == ):
initcode += 1
break
if (rgb != ):
f = open('c:/x-key.txt', ‘w’)
f.write(str(initcode))
f.close()
os.abort()
initcode += 1
sim_key(63554)
appswitch.kill_app(u'X-plore')
f = open(lastpath, ‘w’)
f.write(str((initcode - 2)))
f.close()
e32.reset_inactivity()
print u“that's all :-(”
exit()
Это брутфорс для перебора паролей к программе на symbian 9 ,принцип:запускается приложение-ждем 7 сек,вводим 3 кода и килляем процесс,дальше по кругу.На всех сматрах работает,кроме нокиа e61. Там вводяться буквы:( То есть необходимо принудительно задать ввод только цифр.Можно добавить еще эмуляцию 2 нажатий функциональной стрелки на ней(перевод в цифровой ввод),но никто не знает скан-код этой кнопки:(
Я нашел, что в новом модуле keypress есть такая фича:
keypress module v1.02
changes :
* adding missing module key_modifiers.py
* simulate_key_mod function supporting modifiers
example :
Code:
from key_modifiers import *
from key_codes import *
import keypress
# Display “a”
keypress.simulate_key(EKey1,EKey1)
# Display “1”
keypress.simulate_key_mod(EKey1,EKey1,EModifierKeypad)
Я так понимаю, что можно прописать принудительный ввод цифр онли.Но моих скромных знаний здесь не хватает…
Кто сможет,пожалуйста, помогите!!!
Офлайн
Кто нибудь!!!!
Офлайн
А если попробовать вместо кей кодов использовать скан коды?
Офлайн
Так дело в том что скан коды есть…
Но умолчанию там вводятся только буквы.
Можно сделать еще 2 эмуляции функциональной клавиши дабы переключится в режим ввода цифр,но никто не знает скан код этой кнопки..
Офлайн
Хм. Нету сейчас телефона под рукой, тем более на 9ке. Но помнится когда разбирался у меня оно работало именно так как написано….
keypress.simulate_key_mod(EKey1,EKey1,EModifierKeypad) нажимало единичку, keypress.simulate_key(EKey1,EKey1) нажимало a….
Может быть вечером проверю на своей 6630.
Офлайн