Уведомления

Jabber-конференция сообщества: pythonua@conference.jabber.ru

#1 Май 10, 2007 09:20:12

Виталий
От:
Зарегистрирован: 2007-05-09
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите со скриптом.

Добрый день.
Есть скрипт для 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 Май 11, 2007 15:02:05

Виталий
От:
Зарегистрирован: 2007-05-09
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите со скриптом.

Кто нибудь!!!!



Офлайн

#3 Май 13, 2007 22:31:48

Guria
От:
Зарегистрирован: 2006-12-21
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите со скриптом.

А если попробовать вместо кей кодов использовать скан коды?



Офлайн

#4 Май 14, 2007 10:18:04

Виталий
От:
Зарегистрирован: 2007-05-09
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите со скриптом.

Так дело в том что скан коды есть…
Но умолчанию там вводятся только буквы.
Можно сделать еще 2 эмуляции функциональной клавиши дабы переключится в режим ввода цифр,но никто не знает скан код этой кнопки..



Офлайн

#5 Май 14, 2007 12:48:49

Cyxapeff
От:
Зарегистрирован: 2006-08-17
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите со скриптом.

Хм. Нету сейчас телефона под рукой, тем более на 9ке. Но помнится когда разбирался у меня оно работало именно так как написано….
keypress.simulate_key_mod(EKey1,EKey1,EModifierKeypad) нажимало единичку, keypress.simulate_key(EKey1,EKey1) нажимало a….

Может быть вечером проверю на своей 6630.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version