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

» InqSoft Sign 0f Misery / Neos0m

Автор: berkut9737
Дата сообщения: 18.11.2011 15:33
Donatello
Спасибо, вам большое!
Автор: JustAMaaan
Дата сообщения: 21.11.2011 07:49
На сайте программы вдруг обнаружилась Neo Sign 0f Misery 0.9.4. Поправьте кто-нибудь шапку.
Автор: Donatello
Дата сообщения: 03.12.2011 17:20
berkut9737

По каждой команде есть справка, также есть семплы (примеры). Необязательно вызывать даже всю справку, а достаточно на интересующей команде кликнуть правой кнопкой мыши и выбрать - Справка о команде.


Цитата:
есть такая функция, как подмена параметров


Используется для подмены параметров внутри скрипта. Фактически - это не подмена (с целью обмана), а полноценная замена каких-то параметров на данные, которые хранятся в переменных.


Цитата:
Возможно ли обмануть программу Х подставляя ей один ключ реестра вместо другого используя вышеназванную функцию?


Подставляя, куда? =) Подставить можно только путем записи данных в реестр. А записать и удалить данные можно с пом. команд программы, или путем запуска .reg файлов.
Автор: berkut9737
Дата сообщения: 04.12.2011 17:24
Donatello
Спасибо, за подробное объяснение, но я позже понял, что использовать эту функцию (даже так, как я представлял её себе, скажем, в "идеале") будет невозможно, т.к., в моём случае, она не панацея от всех бед. Нужен другой вариант, подход к делу. Спасибо.

Автор: egor23
Дата сообщения: 24.02.2012 05:09
InqSoft Neo Sign 0f Misery 0.9.5
http://s0m.narod.ru/neos0m.html
Автор: angeltwo
Дата сообщения: 29.02.2012 12:47
Подскажите, пожалуйста, как в InqSoft Neo Sign 0f Misery создать окно - простую стандартную форму с заголовком - средствами WinAPI?
Пробовал такой скрипт

galloc 2 .
EXTERNAL_CALL "user32.dll*CreateWindowExW" 1 $ $00000100 "Form" "Form1" 0 100 .
AND 1 $FFFFFFFF .
I_TO_USTR 1 .
MBOX @1 .
eos .

Если я правильно понял, то должен отображаться хэндл созданного окна. Отображается - 0, т.е. окно не создается. Как нужно правильно описать создание окна? msdn читал, но не понял как реализовать. Класс окна вроде стандартный, т.е. регистрации не требуется... а не выходит каменная чаша

З.Ы. MinIface.dll для создания окна не подходит по двум причинам: 1) не хочется лишний файл таскать для создания простой пустой формы с заголовком
2) при использовании отдельной секции данных в скрипте, в которой можно было бы разместить описание окна или/и саму библиотеку - корректно не работают команды IS_REG_VALUE_EXISTS и REG_KEY_CREATE
Автор: necromisanthroper
Дата сообщения: 17.04.2012 17:51
Сайт прикрыли слегка. Кого не затруднит, залейте куда-нить последнюю версию InqSoft Neo Sign 0f Misery.
Автор: creature_ws
Дата сообщения: 17.04.2012 19:11
neos0m.zip md5 505A0FAE67144F11541417A8B24ECF05
neos0m_src.7z md5 55D35F2D0EBD763FBB1F54159001BDB3

Автор: necromisanthroper
Дата сообщения: 17.04.2012 23:27
creature_ws
Забрал. Спасибо.
Автор: MISHANCHYK
Дата сообщения: 02.05.2012 10:13
Подскажите пожалуйста, можно ли во время выполнения скрипта блокировать мышь и клавиатуру? Если "Да", то как это записать?
Автор: angeltwo
Дата сообщения: 04.05.2012 07:05

Цитата:
Подскажите пожалуйста, можно ли во время выполнения скрипта блокировать мышь и клавиатуру? Если "Да", то как это записать?


Можно, например, так:

Код:
GALLOC 1 .
EXTERNAL_CALL "user32.dll*BlockInput" 0 $ 1 .
SLEEP 10000
EOS .
Автор: MISHANCHYK
Дата сообщения: 04.05.2012 08:19
angeltwo

Цитата:
Не проверял, будут ли работать эмуляции нажатий клавиш, если они есть еще в скрипте при этом.

В том-то и дело, что они есть. Скрипт запускает установщик программы и эмулирует нажатие клавиш и кнопок мыши для прохождения всех этапов установки. Поэтому хотелось бы в начале работы скрипта заблокировать для пользователя мышь и клавиатуру, чтоб скрипт отработал без сбоев. Это можно как-то сделать?
Автор: angeltwo
Дата сообщения: 04.05.2012 09:42
Ну если блокировка нужна только для этого, то лучше всего постараться не использовать эмуляцию нажатия на координаты экрана, а использовать поиск соответствующих окон, задав четкие критерии совпадения по названию и классу окна и посылать этим окнам сообщения. В таком случае пользователь может нажать что хочет, нужное сообщение все равно передастся нужному окну.
Окна еще невидимыми можно сделать, тогда юзер и не заметит, что установка проходит у него.
Или надо копать в сторону API-функции SetWindowsHookEx , мне кажется .


Попробовал выполнить следующее:

Код:
GALLOC 2 .
EXTERNAL_CALL "user32.dll*BlockInput" 0 $ 1 .
SLEEP 10000
RUN_EXE "C:\Windows\system32\notepad.exe" .
SLEEP 2000
WND_FIND 0 "Notepad" 1 "Безымянный — Блокнот" 1 $ 1
WND_FIND_CHILD 1 0 "Edit" 1 .
WND_SET_TEXT 1 "Hello, World!!!"
SLEEP 10000
WND_CLOSE 0
EOS .
Автор: MISHANCHYK
Дата сообщения: 04.05.2012 11:39
angeltwo, большое спасибо, всё вроде работает.
Подскажите пожалуйста, выше выложены ссылки на последнюю версию, а:

Цитата:
neos0m_src.7z md5 55D35F2D0EBD763FBB1F54159001BDB3

для чего нужно? И ещё, InqSoft Neo Sign 0f Misery не понимает старые скрипты от InqSoft Sign 0f Misery? Никак нельзя старые скрипты открывать и компилировать в InqSoft Neo Sign 0f Misery?
Автор: angeltwo
Дата сообщения: 04.05.2012 12:05
neos0m_src.7z это исходники, при желании в них можно поковыряться, а потом самому скомпилировать NeoS0M.
Для написания и работы скриптов это не нужно.

Насчет старых скриптов не знаю. Не видел "перекомпилировщика".
Автор: MISHANCHYK
Дата сообщения: 05.05.2012 07:35
angeltwo, понятно, спасибо.
Автор: MISHANCHYK
Дата сообщения: 06.05.2012 11:27
angeltwo, гляньте ЛС пожалуйста.
Автор: gregrmstr
Дата сообщения: 07.05.2012 23:36
Здравствуйте!
Версия InqSoft Neo Sign 0f Misery 0.9.5
Кто сталкивался с такой проблемой: При попытке выполнить (скомпилировать) абсолютно любой скрипт (в том числе и из примеров) выводится в строке статуса такое сообщение: "[Comp] не удалось прочитать файл скрипта в строке 0 модуля <"тут много кракозябров, в основном квадратики">" ?
Автор: JustAMaaan
Дата сообщения: 19.06.2012 08:58
Вышла версия 0.9.6 Neo Sign 0f Misery, изменений почти нет, но написано, что теперь компилируется только под Delphi XE2. Это что, намек, что будет 64-битная версия?
Автор: egor23
Дата сообщения: 01.09.2012 22:01
InqSoft Neo Sign 0f Misery 0.9.7 (1 сентября 2012 г.)
http://s0m.narod.ru/neos0m.html
Автор: Yanis
Дата сообщения: 13.10.2012 16:50
Друзья, может быть тем кто изучает neos0m пригодится мой скрипт. Написал его потому что надоел наг в Total Commander-е. Скомпилированный скрип должен лежать в папке вместе с TOTALCMD.EXE.


Код: ; Neo s0m 0.9.7, 2012

GALLOC 4 .

; RUN_EXE "C:\Program Files (x86)\Total Commander\TOTALCMD.EXE" . ; для тестирования работы из компилятора
RUN_EXE "TOTALCMD.EXE" .

^find
; плучаем хэндл всплывающего окна в переменную 1 (0 — массив хэндлов)
WND_FIND 0 "TNASTYNAGSCREEN" 2 .
LENGTH 0 1 ; (1 — длина массива)
BRANCH 1 0 ^find ^yes . ; окно найдено?

^yes ; 0 — массив найденных окон в дочернем окне
READ_DA 0 0 1 ; (1 — хэндл найденного окна)
WND_FIND_CHILD 0 1 "TPage" 2 "NagPage" 2 . ;
LENGTH 0 1
BRANCH 1 0 ^find ^yes2 .
; ^yes^^^^^^^^^^^^^^^^^^^^^^

^yes2 ; 0 — массив найденных окон в дочернем окне
READ_DA 0 0 1 ; (1 — хэндл найденного окна)
WND_FIND_FIRST_CHILD 1 0
LENGTH 0 1
BRANCH 1 0 ^find ^yes3 .
; ^yes2^^^^^^^^^^^^^^^^^^^^^^

^yes3 ; 0 — массив найденных окон в дочернем окне
READ_DA 0 0 2 ; 2 — хэндл найденного окна где лежат кнопки

WND_FIND_CHILD 0 2 "TPanel" 2 . ; ищем TPanel в которой записан текст нужной кнопки
LENGTH 0 1
BRANCH 1 0 ^find ^yes4 .
; ^yes3^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

^yes4 ; ура! мы нашли номер кнопки
READ_DA 0 0 1 ; 1 — хэндл TPanel с номером кнопки
WND_GET_TEXT 1 3 ; 3 — текст окна

; сравниваем текст кнопки, чтобы понять какую кнопку найти и кликнуть
CMP_USTR 1 "1" @3 1
BRANCH 1 0 ^1 .
CMP_USTR 1 "2" @3 1
BRANCH 1 0 ^2 .
CMP_USTR 1 "3" @3 1
BRANCH 1 0 ^3 .
EOS .
; находим нужную кнопку, кликаем на неё и завершаем скрипт
^1
WND_FIND_CHILD 0 2 "TButton" 2 "&1" 2 .
READ_DA 0 0 1 ; 1 — хэндл кнопки
WND_CLICK 1
EOS .
; ^1^^^^^^^^^^^^^^^^^^^^^

^2
WND_FIND_CHILD 0 2 "TButton" 2 "&2" 2 .
READ_DA 0 0 1 ; 1 — хэндл кнопки
WND_CLICK 1

EOS .
; ^2^^^^^^^^^^^^^^^^^^^^^

^3
WND_FIND_CHILD 0 2 "TButton" 2 "&3" 2 .
READ_DA 0 0 1 ; 1 — хэндл кнопки
WND_CLICK 1

EOS .
; ^3^^^^^^^^^^^^^^^^^^
; ^yes4^^^^^^^^^^^^^^^^^^^^^^^^
Автор: JustAMaaan
Дата сообщения: 22.10.2012 16:49
Как у вас всё сложно. Я бы вот это всё


Код:
; сравниваем текст кнопки, чтобы понять какую кнопку найти и кликнуть
CMP_USTR 1 "1" @3 1
BRANCH 1 0 ^1 .
CMP_USTR 1 "2" @3 1
BRANCH 1 0 ^2 .
CMP_USTR 1 "3" @3 1
BRANCH 1 0 ^3 .
EOS .
; находим нужную кнопку, кликаем на неё и завершаем скрипт
^1
WND_FIND_CHILD 0 2 "TButton" 2 "&1" 2 .
READ_DA 0 0 1 ; 1 — хэндл кнопки
WND_CLICK 1
EOS .
; ^1^^^^^^^^^^^^^^^^^^^^^

^2
WND_FIND_CHILD 0 2 "TButton" 2 "&2" 2 .
READ_DA 0 0 1 ; 1 — хэндл кнопки
WND_CLICK 1

EOS .
; ^2^^^^^^^^^^^^^^^^^^^^^

^3
WND_FIND_CHILD 0 2 "TButton" 2 "&3" 2 .
READ_DA 0 0 1 ; 1 — хэндл кнопки
WND_CLICK 1
Автор: caxap
Дата сообщения: 22.10.2012 17:08
Yanis
JustAMaaan

Цитата:
Как у вас всё сложно

Да уж... Как у вас всё сложно...
Автор: Yanis
Дата сообщения: 24.10.2012 12:40
JustAMaaan
Да, я понял о чём вы. Я полностью за ваш вариант. В процессе написания во избежании глюков писал «в лоб», когда заработало я расслабился.

caxap
Надеюсь вы не всерьёз решили, что мы не знаем такого способа? В этом топике можно практически на любое сообщение ответить в духе вашего.
Автор: caxap
Дата сообщения: 24.10.2012 13:16
Yanis

Цитата:
Надеюсь вы не всерьёз решили, что...

Конечно, не всерьёз. Но, спрашивается, зачем? Автонажимание кнопок делает использование ТС легальным?
Автор: kosjachok
Дата сообщения: 24.10.2012 13:29

Цитата:
Автонажимание кнопок делает использование ТС легальным?

А почему нет?
Чем автонажимание отличается от того если бы это делалось руками? (в юридическом плане)
Автор: addhaloka
Дата сообщения: 24.10.2012 13:44
caxap 14:16 24-10-2012
Цитата:
Но, спрашивается, зачем?
Ради Дао
А если по-серьёзному:
Цитата:
тем кто изучает neos0m
Автор: caxap
Дата сообщения: 24.10.2012 15:02
addhaloka

Цитата:
Ради Дао

Такое обьяснение мне больше по душе...
Вопрос к "хорошо изучившим":
Не подскажете пример скрипта, который заставляет окно с заголовком "123" ВСЕГДА висеть строго над окном "435" (не поверх всех окон)?
Автор: Yanis
Дата сообщения: 25.10.2012 23:37
caxap

В общем случае примерно такой код, а в частности, конечно, надо разбираться в задаче:


Код: ; ot.nsm
; Neo s0m 0.9.7, 2012
; Скрипт ищет два окна с заголовками 123 и 456 и помещает второе под первым не активируя их

GALLOC 3 .

; получаем хэндл ПЕРВОГО окна в переменную 1
WND_FIND 1 $ $ "123" 2 . ; (1 — массив найденных окон)
LENGTH 1 0 ; (0 — длина массива)
BRANCH 0 0 ^exit .
READ_DA 1 0 1 ; считываем первый элемент найденных окон в переменную 1
; ---

; получаем хэндл ВТОРОГО окна в переменную 2
WND_FIND 2 $ $ "456" 2 . ; (2 — массив найденных окон)
LENGTH 2 0 ; (0 — длина массива)
BRANCH 0 0 ^exit .
READ_DA 2 0 2 ; считываем первый элемент найденных окон в переменную 2
; ---

; SetWindowPos(hSecond, hFirst, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE)
EXTERNAL_CALL "User32.dll*SetWindowPos" 0 $ @2 @1 0 0 0 0 $13 .

^exit
EOS 0
Автор: caxap
Дата сообщения: 18.11.2012 06:20
Yanis
Извините, за позднюю реакцию (не заглядывал давно сюда) но... СПАСИБО!

Страницы: 1234567891011121314151617

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


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