Что нового

Атоматизация окна класса Qt5QWindowIcon

Сообщения
36
Репутация
-1
Привет. Нужно разработать способ работы с элементами этой программы - Втопе. AutoIt Window Info, Control Viewer дает только информацию о классе окна - Qt5QWindowIcon, но не распознает никаких элементов. С Ranorex Spy тоже никакой дополнительной информации. У кого то есть опыт взаимодействия с такими элементами?
 

bugaj

Знающий
Сообщения
140
Репутация
11
Re: Автоматизация Втопе (Vtope)

распознавать их визуально
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: Автоматизация Втопе (Vtope)

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"Автоматизация Втопе (Vtope)" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Модератор.
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
Re: Автоматизация Втопе (Vtope)

Belfigor
OffTopic:
Ник у автора подозрительный :smile:
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: Автоматизация Втопе (Vtope)

DarWiM [?]
Ник у автора подозрительный
smiley.gif
Божечкиж ты мой! Я и не посмотрел, нажалуюсь администрации :smile:


Добавлено:
Сообщение автоматически объединено:

Хотя нет, у него уже 31 сообщение. Его явно уже бы забанили если бы сочли неподходящим его ник.
 
Автор
fyviffitoffo
Сообщения
36
Репутация
-1
Re: Автоматизация Втопе (Vtope)

OffTopic:
Ник у автора подозрительный
Что то вы очень строгий. :blink:

bugaj сказал(а):
распознавать их визуально
через OCR?
Есть некоторые продвижения в разработке. Снифером анализировал трафик, и выяснил, что программа проводит авторизацию через один хост, отправляя POST запрос:
Код:
POST /auth HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 90
Connection: Keep-Alive
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,en,*
User-Agent: Mozilla/5.0
Host: 46.4.50.219:8000

v=47&email=x&password=y&hash=441d1fe10f0e1

где email в открытом виде, y - пароль, хеш типа md5, а hash и v, я пока не могу понять что это.

на что проходит ответ:
Код:
HTTP/1.1 200 OK
Date: Thu, 25 Sep 2014 09:20:29 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Content-Length: 7
Server: TornadoServer/3.1
Set-Cookie: user="MTE4OA==|1411636829|7cb21c838405cfeeedc23b13585d8c0f6a632c53"; expires=Sat, 25 Oct 2014 09:20:29 GMT; Path=/

Код:
HTTP/1.1 200 OK
Date: Thu, 25 Sep 2014 09:20:33 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Content-Length: 136
Server: TornadoServer/3.1
text/html: 4610;73;3516351|http://instagram.com/miroslava_sergeeva_official|if|66|1000|a;4353416|http://instagram.com/mperia_brothers|if|136|2400|a

Также прога отсылает пост запрос на другой хост:
Код:
POST /log HTTP/1.1
Content-Type: multipart/form-data; boundary="boundary_.oOo._MTQ5NTU=MTk4MTQ=NzMyMw=="
MIME-Version: 1.0
Content-Length: 1387
Connection: Keep-Alive
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,en,*
User-Agent: Mozilla/5.0
Host: 5.9.145.19:8000

--boundary_.oOo._MTQ5NTU=MTk4MTQ=NzMyMw==
Content-Disposition: form-data; name="id"

-1
--boundary_.oOo._MTQ5NTU=MTk4MTQ=NzMyMw==
Content-Disposition: form-data; name="log"

25.09 12:20:35.101
<task type="AccountLogin">
  <parameters>
    <parameter login="x"/>
  </parameters>
  <steps>
    <task type="serverExecutor">
      <parameters>
        <parameter page="21f950"/>
        <parameter m="21f95c"/>
        <parameter link="v=47&email=x&password=y&hash=441d1fe10f0e1"/>
      </parameters>
      <tasklog start="ok"/>
      <results>
        <result elapsed="1"/>
        <result error="0"/>
        <result ok="true"/>
        <result response="ok|1188"/>
      </results>
    </task>
    <task type="serverExecutor">
      <parameters>
        <parameter page="21f950"/>
        <parameter m="21f95c"/>
        <parameter link="v=47"/>
      </parameters>
      <tasklog start="ok"/>
      <results>
        <result elapsed="3"/>
        <result error="0"/>
        <result ok="false"/>
        <result response="4610;73;3516351|http://instagram.com/miroslava_sergeeva_official|if|66|1000|a;4353416|http://instagram.com/mperia_brothers|if|136|2400|a"/>
      </results>
    </task>
  </steps>
  <results>
    <result error="noError"/>
  </results>
</task>



--boundary_.oOo._MTQ5NTU=MTk4MTQ=NzMyMw==--

на что приходит ответ:

Код:
HTTP/1.1 200 OK
Date: Thu, 25 Sep 2014 09:20:33 GMT
Vary: Accept-Encoding
Content-Length: 2
Content-Type: text/html; charset=UTF-8
Server: TornadoServer/4.0.1
text/html: ok

Пробовал отправлять пост запрос на первый хост но, поскольку оно открывает http://46.4.50.219:8000/auth, из объекта обычного браузера, то POST запрос не проходит. Видимо оно идентифицирует, что авторизацию нужно пройти через программу. Насколько я понимаю, она работает за принципом браузера. Может у кого то есть какие то идеи?
 

bugaj

Знающий
Сообщения
140
Репутация
11
у меня идея все та же, искать кнопки как картинки и жать их и не сношать себе мозг )


Добавлено:
Сообщение автоматически объединено:

если кнопки не находятся апи функциями внутри окна, то значит там озадачились защитой всего этого добра, и если это так, то пока ты разберёшься как пост запросами эмулировать работу сайта, то к тому времени ты уже 20 ботов визуальных написал бы. пароль отправляемый в md5 это задница, потому что если ты не узнаешь алгоритм конкретный как оно шифруется то ты ни в жизнь не отправишь правильный пароль. Вообще странно, логичней было шифровать на сервере, ибо на клиенте полюбому где-то должен быть алгоритм шифрования.
 
Автор
fyviffitoffo
Сообщения
36
Репутация
-1
Удалось отправить POST запросы. Но проблема в том, что сама программа на это не реагирует. Как можно направить ответы с хоста в программу, или что-то в этом роде? Возможно оно передает по TCP протоколу?

Код:
$sEmail="[email protected]"
$sPass="123"
$url1="http://46.4.50.219:8000/auth"
$url2="http://46.4.50.219:8000/info"
$url3="http://5.9.145.19:8000/log"

Login()
Info()
fLog()


Func Login()
$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Open("POST",$url1)
$oHTTP.setTimeouts(5000, 5000, 15000, 15000)
$oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.SetRequestHeader("Content-Length","90")
$oHTTP.SetRequestHeader("Connection", "Keep-alive")
$oHTTP.SetRequestHeader("Accept-Encoding", "gzip, deflate")
$oHTTP.SetRequestHeader("Accept-Language", "ru-RU,en,*")
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0")
$oHTTP.SetRequestHeader("Host","46.4.50.219:8000")
$oHTTP.Send("v=47&email="&$sEmail&"&password="&$sPass&"&hash=441d1fe10f0e1")
$oHTTP.WaitForResponse
$resp=$oHTTP.ResponseText
ConsoleWrite($resp & @LF)
EndFunc

Func Info()
$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Open("POST",$url2)
$oHTTP.setTimeouts(5000, 5000, 15000, 15000)
$oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.SetRequestHeader("Cookie","user=""MTE4OA==|1412756166|003ac41dceeb80e7818b471a1807622e14c46738""")
$oHTTP.SetRequestHeader("Content-Length","4")
$oHTTP.SetRequestHeader("Connection", "Keep-alive")
$oHTTP.SetRequestHeader("Accept-Encoding", "gzip, deflate")
$oHTTP.SetRequestHeader("Accept-Language", "uk-UA,en,*")
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0")
$oHTTP.SetRequestHeader("Host","46.4.50.219:8000")
$oHTTP.Send("v=47")
$oHTTP.WaitForResponse
$resp=$oHTTP.ResponseText
ConsoleWrite($resp & @LF)
EndFunc


Func fLog()
$data = FileRead(@DesktopDir & "\1.txt")
$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Open("POST",$url3)
$oHTTP.setTimeouts(5000, 5000, 15000, 15000)
$oHTTP.SetRequestHeader("Content-Type","multipart/form-data; boundary=""boundary_.oOo._ODM0MQ==MTgzNTQ=MzIzMTg=""")
$oHTTP.SetRequestHeader("MIME-Version","1.0")
$oHTTP.SetRequestHeader("Content-Length","1327")
$oHTTP.SetRequestHeader("Connection", "Keep-alive")
$oHTTP.SetRequestHeader("Accept-Encoding", "gzip, deflate")
$oHTTP.SetRequestHeader("Accept-Language", "uk-UA,en,*")
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0")
$oHTTP.SetRequestHeader("Host","5.9.145.19:8000")
$oHTTP.Send($data)
$oHTTP.WaitForResponse
$resp=$oHTTP.ResponseText
ConsoleWrite($resp & @LF)
EndFunc


Ответ, так же как я писал выше:
Код:
ok|1188
3953;77;3516351|http://instagram.com/miroslava_sergeeva_official|if|0|3000|a
ok
>Exit code: 0    Time: 0.7779
 
Верх