Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Python for stealth client

Часто задаваемые вопросы
Half-Life
Novice
Novice
Posts: 86
Joined: 30.10.2012 12:06
Location: Одесса
Contact:

Python for stealth client

Post by Half-Life »

Всем добрый день. Если тут есть ребята которые пишут на питоне, объясните как подружить питон и стелс. Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)] on win32, Stealth v.: 6.5.2
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Python for stealth client

Post by nah nah »

через dll

Code: Select all

import time
import ctypes
import sys

dll = ctypes.WinDLL('script.dll')
dll.StartStealthPipeInstance(sys.executable.encode())

dll.Script_Connect()
for i in range(5):
    dll.Script_AddToSystemJournal(ctypes.c_wchar_p('steel here'))
    time.sleep(1)
dll.Script_Disconnect()

dll.CorrectDisconnection()
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Python for stealth client

Post by Vizit0r »

если ты про внешние скрипты - там там 2 разных обертки от разных людей было.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Half-Life
Novice
Novice
Posts: 86
Joined: 30.10.2012 12:06
Location: Одесса
Contact:

Re: Python for stealth client

Post by Half-Life »

nah nah wrote:через dll

Code: Select all

import time
import ctypes
import sys

dll = ctypes.WinDLL('script.dll')
dll.StartStealthPipeInstance(sys.executable.encode())

dll.Script_Connect()
for i in range(5):
    dll.Script_AddToSystemJournal(ctypes.c_wchar_p('steel here'))
    time.sleep(1)
dll.Script_Disconnect()

dll.CorrectDisconnection()
Шляпа это всё. Для начала там нету такой функции как StartStealthPipeInstance, там есть функция StartStealthSocketInstance Во вторых когда запускаешь этот скрипт он срабатывает только один раз, если второй раз нажать старт отрывает новый стелс.

Пользуюсь обёрткой от Lorenzo Boydon Persichetti тыц что бы посмотреть, но у меня возникли пару траблов:
SomeFunc

Code: Select all

def ConnectICQ():
    while not ICQConnected():
        AddToSystemJournal('Коннектимся к аське...');
        ICQConnect(ICQUIN,ICQPWRD);
        Wait(5000)
        i=+1
        if i>10:
          AddToSystemJournal('Превышен лимит на попытку подконнектиться к аське. Скрипт остановлен.');
          SystemExit()
    AddToSystemJournal('Подключились к аське.');
в системный журнал стелса выводит.

Code: Select all

16:27:19:772 [TestChar]: Законнектились.
16:27:19:774 [TestChar]: Коннектимся к Аське...
16:27:24:777 [TestChar]: Подключились к аське.
Понимаю что дело в кодировке, но не могу понять как исправить. Если вывести через принт

Code: Select all

print('ывф')
в системный журнал выводит нормально

Code: Select all

16:43:31:398 [TestChar]: ывф
и ещё трабл - не приходят сообщения в аську.
OtherSomeFunc

Code: Select all

def SendMsg():
    if not ICQConnected:
        ConnectICQ()
    now_time = datetime.datetime.now()
    ICQSendText(ICQDst, 'В'+ now_time.strftime("%d.%m.%Y %H:%M") +DestinationMsg);
    AddToSystemJournal('В аську было отправлено сообщение: В '+now_time.strftime("%d.%m.%Y %H:%M") +' '+DestinationMsg);
    Wait(2000)
вот функция из обёртки

Code: Select all

def ICQSendText(DestinationUIN, Text):
	return stealth_dll.Script_ICQ_SendText(DestinationUIN, Text)
если написать на паскале, сообщения приходят.

P.S. Ещё стелс не работает на питоне 3.4, а очень хотелось бы)
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Python for stealth client

Post by nah nah »

Half-Life wrote: Шляпа это всё. Для начала там нету такой функции как StartStealthPipeInstance, там есть функция StartStealthSocketInstance Во вторых когда запускаешь этот скрипт он срабатывает только один раз, если второй раз нажать старт отрывает новый стелс.
Тогда ещё не было обёртки от Бойдона, были сокеты, но функция называлась именно StartStealthPipeInstance. скриптик старый, кинут как пример. Новый стелс этого у меня не было. У меня просто не было реакции на второй запуск.
Half-Life wrote: если написать на паскале, сообщения приходят.
P.S. Ещё стелс не работает на питоне 3.4, а очень хотелось бы)
это к Визу =)

По поводу кодировок.
Кодируй скрипт в utf-8 без bom

а в обёрке print не привязан к сисжурналу?
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Python for stealth client

Post by Vizit0r »

с кодировками разбирайтесь сами, тут я вам не советчик. Длл хочет увидеть там обычный уникодный PWideChar, это не анси с его кодировками.
Впрочем, с вайд тоже можно накуралесить с кодировками, что там походу и произошло.

А питона 3.4 у меня небыло еще, как раз повод проверить.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Half-Life
Novice
Novice
Posts: 86
Joined: 30.10.2012 12:06
Location: Одесса
Contact:

Re: Python for stealth client

Post by Half-Life »

картинка
Image
Last edited by Half-Life on 02.11.2014 3:18, edited 1 time in total.
Half-Life
Novice
Novice
Posts: 86
Joined: 30.10.2012 12:06
Location: Одесса
Contact:

Re: Python for stealth client

Post by Half-Life »

nah nah wrote: Тогда ещё не было обёртки от Бойдона, были сокеты, но функция называлась именно StartStealthPipeInstance. скриптик старый, кинут как пример. Новый стелс этого у меня не было. У меня просто не было реакции на второй запуск.
Тогда мои извинения))
nah nah wrote: а в обёрке print не привязан к сисжурналу?
неа
Vizit0r wrote:с кодировками разбирайтесь сами, тут я вам не советчик. Длл хочет увидеть там обычный уникодный PWideChar, это не анси с его кодировками.
Впрочем, с вайд тоже можно накуралесить с кодировками, что там походу и произошло.

А питона 3.4 у меня небыло еще, как раз повод проверить.
Пока разберусь можно юзать print()
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Python for stealth client

Post by Vizit0r »

а что, в питоне нельзя задать выходную кодировку юникода, только кои8-р?
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Half-Life
Novice
Novice
Posts: 86
Joined: 30.10.2012 12:06
Location: Одесса
Contact:

Re: Python for stealth client

Post by Half-Life »

Vizit0r wrote:а что, в питоне нельзя задать выходную кодировку юникода, только кои8-р?
ПОчему нельзя? Можно. Кракозябры по другому выглядеть будут.

Как подключить ивенты? кто знает?
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Python for stealth client

Post by Vizit0r »

я подозреваю, что если вместо кодировки кои8-р поставить вин1251, то крокозябы в стелс будут приходить нормальными буквами.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Half-Life
Novice
Novice
Posts: 86
Joined: 30.10.2012 12:06
Location: Одесса
Contact:

Re: Python for stealth client

Post by Half-Life »

Vizit0r wrote:я подозреваю, что если вместо кодировки кои8-р поставить вин1251, то крокозябы в стелс будут приходить нормальными буквами.
Неа. Сохранил скрипт в вин1251, кракозябры стали вот такими
ла бла бла
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Python for stealth client

Post by Vizit0r »

причем тут скрипт?
кодировка строки, отсылаемой параметром в AddToSystemJournal.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: Python for stealth client

Post by drabadan »

у меня кракозябры были когда я нотпаде++ не ту кодировку поставил. Может автор также заморочился и надо все го то поставить все обратно?
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Python for stealth client

Post by Vizit0r »

drabadan причем тут файл, если дело в привычке питона пихать кои8р везде?
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Post Reply