Ru-Board.club
← Вернуться в раздел «Программы»

» InqSoft Sign 0f Misery / Neos0m

Автор: unreal666
Дата сообщения: 30.08.2006 16:29
cracklover
Ты смотрел в сканере окон, какое окно является родительским для этой кнопки (долно быть окно самой проги)?
Вообще надо в цикле отлавливать дочернее окно по заголовку дочернего и родительского окна, и после отлова этой кнопки проверять эту кнопку на активность (тоже в цикле).
Автор: x1shn1k
Дата сообщения: 30.08.2006 17:39
уважаемые, в какой ОС вы работаете с этой программой? у меня XP SP2, последняя версия Neo Sign 0f Misery (0.3.1). так вот не выходит заставить программу искать текст окон ("Поиск окон среди окон верхнего уровня"). при компиляции пишет error code=1001, а внизу в строке состояния "Недопустимый индекс переменной". причём даже примеры указанные в Справке отказываются работать.
Автор: unreal666
Дата сообщения: 30.08.2006 18:07
x1shn1k
Саму прогу (Neo) пока не использую, но все примеры работают.
Автор: x1shn1k
Дата сообщения: 30.08.2006 19:33
решил проблему добавлением в код комманды galloc 1 .
Автор: cracklover
Дата сообщения: 30.08.2006 21:01
unreal666
Ничего не понял!
Автор: Donatello
Дата сообщения: 01.09.2006 07:57
cracklover

Ты хотя бы скрин сделал бы, нихрена ж не понятно...


Цитата:
4) Дождаться появления окна с кнопочкой в нижнем правом углу "Finish" и нажать её.


Если имеется ввиду, что после установки выскакивает окно, а в нём кнопка "Finish", то окно будет родительским, а кнопка по отношению к нему - дочерним окном. В этом случае можно применить постоянное сканирование дерева окон и как только оно будет найдено - кнопка нажмётся. Примерно так будет выглядить, я спец. на примере WinCleaner сделал:




Цитата:
1    Управление выводом отладочных сообщений    выключено    N/A
2    Метка    0    N/A
3    Найти окно по имени класса и тексту в заголовке окна    TMessageForm    WinCleaner 1.01
4    Найти дочернее окно по имени класса и тексту в заголовке окна    TButton    OK
5    Проверить, существует ли сейчас найденное окно    N/A    N/A
6    Переход к метке (условный/безусловный)    0    если ЛОЖЬ
7    Послать окну сообщение "Нажать"    N/A    N/A
8    Завершить скрипт    N/A    N/A

Параметры скрипта:
Не показывать окно скрипта


Если имеется ввиду, что окно как бы обновится (заголовок останется тем же) и появится кнопка Финиш, то она также будет дочерним окном по отношению к этому окну (если конечно нет ещё одного окна, см. выше).


Цитата:
Поэтому финиш нажмётся или очень поздно (завершив работу инсталлятора, что мне и нужно), или попытается нажаться слишком рано вызыва отбой работы инсталлятора (потому как Enter сработает не на финальном окне финиша).


А вот это как понять? Она, что всегда видна и всегда активна? Одна твоя фраза противоречит другой. Как она может появляться и в тоже время её можно было бы нажать раньше времени? =) Если она просто не активна, то принцип тот же (см. выше) только нужно ещё проверять её на активность.

Чтобы понять, что окна находятся нужно убрать - Управление выводом отладочных сообщений выключено, тогда если какое-то окно находится не будет, будут выскакивать отладочные сообщения программы. Как только перестанут выскакивать, значит все окна находятся.
Автор: unreal666
Дата сообщения: 01.09.2006 10:12
Donatello
Во. Прям как я себе сейчас сделал.

Цитата:
Чтобы понять, что окна находятся нужно убрать - Управление выводом отладочных сообщений выключено, тогда если какое-то окно находится не будет, будут выскакивать отладочные сообщения программы. Как только перестанут выскакивать, значит все окна находятся.

А я просто после этого цикла добавил вывод сообщения, что окно нашлось.

У меня тоже вопрос.
Как искать окна БЕЗ заголовков. Пытаюсь отловить окно класса Edit. Ни фига не отлавливается.
Автор: x1shn1k
Дата сообщения: 01.09.2006 20:44

Цитата:

Как искать окна БЕЗ заголовков. Пытаюсь отловить окно класса Edit. Ни фига не отлавливается.

у меня была похожая проблема. делал скрипт который заполнял бы данные в этом окне возникала проблема: как заполнить эти окна? все они имеют класс SysIPAddress32 и одинаковый текст заголовка %/ пораскинув мозгами, наваял такой скриптец(для Neo Sing Of Misery):

Код: galloc 9 .
WND_FIND 0 $ $ 'TCP/IP' 4 .
length 0 8
branch 8 0 ^end .
WND_FIND_CHILD 1 0 $ $ 'Общие' 4 .
WND_FIND_CHILD 2 1 'SysIPAddress32' 1 .
READ_DA 2 0 3
WND_SET_TEXT 3 '10.1.17.39'
READ_DA 2 1 4
WND_SET_TEXT 4 '255.255.255.0'
READ_DA 2 2 5
WND_SET_TEXT 5 '10.1.17.1'
READ_DA 2 3 6
WND_SET_TEXT 6 '193.24.25.1'
READ_DA 2 4 7
WND_SET_TEXT 7 '193.24.25.250'

mbox 'Скрипт успешно завершил работу' 'Внимание!' 65536 .
eos .
^end
mbox 'Окно не существует!' 'Ошибка!' 65536 .
eos .
Автор: Sish
Дата сообщения: 03.09.2006 06:56
Neo Sign 0f Misery 0.4
Автор: MaximuS
Дата сообщения: 27.10.2006 17:31
Sish
Ты переслал меня сюда.
Не мог ли ты описать краткую пошаговую инструкцию по поводу Radmin.
Как делать сктрипт или если у тебя есть, выложи скрипт готовый на эту прогу,
а я постараюсь в нём разобраться и подставить свои значения.
Спасибо.
Автор: Sish
Дата сообщения: 28.10.2006 21:28
MaximuS
На всякий случай скинул скрипт в личку.

При желании получит его имеено в сабже, экспортируй exe в сабж.
Автор: Igimon
Дата сообщения: 10.12.2006 19:21
Подскажите пожалуйста пример вот такого скрипта:

Нужно чтобы если - Найдено окно с заголовком "Setup - My Program" (в данном случаи имеется виду инсталлятор Inno Setup) то скрипт автоматически закрывался, если же данное окно не найдено то скрипт - Запускал бы программу "Install.exe"
Автор: Sish
Дата сообщения: 11.12.2006 04:21
Igimon
А в чём проблема-то?

Что-то [more=типа такого]Имя файла скрипта: Example.s0m

1    Управление выводом отладочных сообщений    выключено    N/A
2    Найти окно по тексту в его заголовке    Setup - My Program    N/A
3    Прочитать в переменную число ошибок при исполнении скрипта    1    N/A
4    Привести переменную к типу "целое число"    1    N/A
5    Сравнить переменную с целым числом    1    0
6    Проверить результат последнего сравнения    [A] = [B]    N/A
7    Переход к метке (условный/безусловный)    0    если ЛОЖЬ
8    Проверить, существует ли файл    Install.exe    N/A
9    Переход к метке (условный/безусловный)    0    если ЛОЖЬ
10    Запустить файл или выполнить команду    Install.exe    
11    Метка    0    N/A
12    Завершить скрипт    N/A    N/A

Описание скрипта:
Заголовок окна скрипта:
Program:
Protection:
Cracker:
Group:
Released:

Параметры скрипта:
Режим "невидимости" для других скриптов
Не показывать окно скрипта
Делать директорию, в которой находится скрипт, текущей
Запускать только одну копию скрипта
[/more] можно заюзать.
Автор: Igimon
Дата сообщения: 11.12.2006 12:33
Sish

Цитата:
Что-то типа такого можно заюзать.

Пробовал заюзать не выходит.... Вот сам скрипт с откомпилированым EXE.
Автор: Sish
Дата сообщения: 11.12.2006 14:11
Igimon
Меня твой скрипт мало интерсует, да и отладить я его вряд ли смогу...

Юзай сканер окон для точного определния имени/класса окна, читай мануал: благо, что к сабжу он достаточно подробен.
Автор: Igimon
Дата сообщения: 11.12.2006 14:23
Sish

Цитата:
Юзай сканер окон для точного определния имени/класса окна, читай мануал: благо, что к сабжу он достаточно подробен.

Проблема не имени/класса окна, он вообще не работает что с наличием окна что без него! Мануал прочитать конечно могу, да и выучить досконально прогу тоже могу, и сделал бы это при наличии свободного времени! Но так как его практически нет, то и приходится обращаться на форум... А если тебя это мало интересует то имхо и советы не надо давать.
Автор: Sish
Дата сообщения: 11.12.2006 14:57
Igimon
Обижаться не надо, уважаемый!

Мало интересует в том плане, что мне от него не будет много пользы, потому что:
1. У меня нет такого инсталлятора.
2. Я не вижу практического прикладного прикладного смысла данной задачи.

Но твой скрипт я всё равно скачал - в нём, в целом, всё правильно.

НО: ты уверен, что окно запущенного инсталлятора имеет именно тот заголовок, что ты указал:
Цитата:
Setup - My Program"


И что ты понимаешь под "не работает"?

Скрипт отрабатывает так: при запуске проверяет наличие окна Setup - My Program, если оно есть - выгружается, в противном случае проверяет наличие в текущей директории файла Install.exe, и, если он имеется, запускает его.

Ты это имел в виду?
Автор: Igimon
Дата сообщения: 11.12.2006 15:10
Sish

Цитата:
И что ты понимаешь под "не работает"?

Скрипт отрабатывает так: при запуске проверяет наличие окна Setup - My Program, если оно есть - выгружается, в противном случае проверяет наличие в текущей директории файла Install.exe, и, если он имеется, запускает его.

Ты это имел в виду?

Да именно это я имею виду! Что касается наличие класса окна то конечно в оригинале названия класса окна другое "Setup - My Program" я лишь привел для примера.

Цитата:
НО: ты уверен, что инсталлятор имеет именно тот заголовок, что ты указал:

Да конечно вставлял в скрипт название того окна которое указал сканер окон! Ну дело в том что даже без наличии данного окна файл Install.exe не запускается, ну к примеру переименуй любой EXE файл в Install.exe и запусти откомпилированный EXE скрипт, в ответ будет лишь тишина...
Автор: Sish
Дата сообщения: 11.12.2006 15:27
Igimon
Попробуй запустить его как программу, а не как файл: там же есть несколько вариантов запуска.
Автор: Igimon
Дата сообщения: 11.12.2006 15:51
Sish

Цитата:
Попробуй запустить его как программу, а не как файл: там же есть несколько вариантов запуска.

Пробовал, результат тот-же самый. Если убрать из скрипта "11 Метка 0 N/A" или поднять ее в скрипте повыше то файл запускается, но класс окна при этом не обрабатывается, т.е. скрипт работает как банальный запускальщик EXE файла.
Автор: Sish
Дата сообщения: 11.12.2006 18:28
Igimon
Попробуй поставить поиск окна без класса - бывает, иногда помогает.


Цитата:
Если убрать из скрипта "11 Метка 0 N/A" или поднять ее в скрипте повыше то файл запускается

Так правильно: в таком случае происходит безусловный запуск в конце скрита этого файла...
Автор: Shadow83
Дата сообщения: 06.01.2007 21:16
Разъясните пожалуста, импортирую exe'шник размером под 30 кило, перекомпилирую- размер под 50 кило, получится под 30 если упаковать upx'ом, но исходный exe'шник не упакован ни чем, так почему у меня получается почти в 2 раза больше? (юзаю InqSoft Sign 0f Misery 2.68 (stable))
Автор: Donatello
Дата сообщения: 06.01.2007 22:11
Shadow83

Цитата:
Разъясните пожалуста, импортирую exe'шник размером под 30 кило, перекомпилирую- размер под 50 кило, получится под 30 если упаковать upx'ом, но исходный exe'шник не упакован ни чем, так почему у меня получается почти в 2 раза больше? (юзаю InqSoft Sign 0f Misery 2.68 (stable))


А если по-русски? =)
Как я понял ты берёшь готовый скомпилированный скрипт и импортируешь в программу, потом изменяешь скрипт и компилишь его по-новой...? Потому что программа обычно создаёт скомпилированные скрипты (даже не очень большие) с размером 40 Кб. и выше... Внуть она засовывает bmp - рисунок, размером 15.4 Кб., если его удалить, вот тебе и 30 Кб. примерно. Потом сжимаешь тем же Upx и получаешь, например 17 Кб.... =)
Автор: Serjone
Дата сообщения: 09.01.2007 15:39
Кто-нить знает еще места, где обсуждают s0m? Кто нормально разбирается, стукните пж в асю 311008963.

PS респект x1shn1k, с его поста я начал писать скрипты в нео с0м
Автор: WildGoblin
Дата сообщения: 10.01.2007 01:09
Donatello
А ещё можно сразу вырезать из файла s0m.bin бэмпэшку и тогда экзэшники будут компилится без неё!
Автор: Donatello
Дата сообщения: 11.01.2007 17:22
WildGoblin

Ну да, самый лучший вариант - сразу вырезать её нафиг! =)
Автор: Sish
Дата сообщения: 12.01.2007 04:27
WildGoblin
Donatello
Только не очень понятно, чем она меньшает-то? Размер скомпилённых exe и без того децельный получается...
Автор: Serjone
Дата сообщения: 12.01.2007 05:00
Как передать фокус найденному окну в нео с0м?
Автор: Donatello
Дата сообщения: 12.01.2007 07:19
Sish

Цитата:
Только не очень понятно, чем она меньшает-то? Размер скомпилённых exe и без того децельный получается...


Ну... Даже отталкиваясь от противного, а зачем она нужна? Зачем нужен вообще лишний мусор? И потом, есть разные люди, например те кто хочет получать масимальный возможно-лучший результат или те, кто не намеривается использовать скомпилированный скрипт только на локальной машине. Зачем делают трояны/серверы - чем меньше, тем лучше?
Автор: Sish
Дата сообщения: 12.01.2007 07:33
Donatello

Цитата:
Зачем делают трояны/серверы - чем меньше, тем лучше?

Ясно.

Кстати, о троянах: очень многие "продвинутые" антивири детектят в совсем даже безопасных и добрых (полезных) скриптах злобных троянов...

Я уже запарился в нескольких топах отвечать на вопросы особо продвинутых ньюбов о том, почему в моём автоинсталляторе их не менее продвинутый антивирь обнаружил трояна, приводя при этом для вящей убедительности код скрипта.

Страницы: 1234567891011121314151617

Предыдущая тема: http сервер


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.