Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)

Модерирует : gyra, Maz

gyra (23-01-2020 10:51): AutoIT (Часть 4)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
Описание:

Цитата:
AutoIt v3 - это язык для написания сценариев, напоминающий BASIC. Основным его назначением является автоматизация работ с Windows GUI (графическим интерфейсом пользователя MS Windows). Для выполнения этой сложной задачи предоставляется комбинация испытанных методов, включающих в себя эмуляцию нажатий комбинаций клавиш клавиатуры, перемещения указателя мыши, управление окнами и их визуальными элементами. Как показывает практика, эти "приводные ремни" весьма эффективны для получения работающих решений в ситуациях, когда другие стандартные средства (например, VBScript и SendKeys) оказываются бессильны.
Умеет он очень и очень многое! Бесплатный.

 
  • Справки
  • Инструменты
  • Ресурсы, посвящённые AutoIt
  • Полезные советы новичкам и не только
  • Готовые решения
  • Скрипт раскраски кода AutoIt для публикации в форумах
     


     
    За шапкой следит ViSiToR / AZJIO  

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 13:07 01-06-2010 | Исправлено: Maz, 12:29 10-01-2020
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Skif_off,
    С Checkbox еще так можно сделать Подробнее...
     
    Еще можно упростить _WM_NOTIFY: Подробнее...

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 13:29 27-04-2015 | Исправлено: madmasles, 07:02 28-04-2015
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    All
    Спецы Autoit! Прошу помощи.
     
    Может кто-нибуть написать метод профилирования exe.
    Под профилированием в данном случае понимается выкидывание лишки и уменьшение размера exe для Aut2Exe.
    Или это невозможно?
     
    Также думаю многим будет интересен метод  профилирования самого скрипта. Под профилированием в данном случае понимается включение только нужных функций из внешних UDF для запуска скрипта au3 из интерпретатора Autoit на машине, где нет UDF.

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 14:08 28-04-2015 | Исправлено: dialmak, 14:09 28-04-2015
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
    Я не спец, но

    Цитата:
    Также думаю многим будет интересен метод  профилирования самого скрипта.

    Оно давно есть и давно работает, в 3.3.8.1 обычно использую директивы

    Код:
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Add_Constants=y
    #AutoIt3Wrapper_Run_Obfuscator=y
    #Obfuscator_Parameters=/cv=0 /cf=0 /cs=0 /cn=0 /sf=1 /sv=1
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

    На выходе получается в т.ч. ScriptName-obfuscated.au3 с необходимыми функциями и константами.

    Всего записей: 6487 | Зарегистр. 28-01-2008 | Отправлено: 15:09 28-04-2015
    niva622



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите, есть ехе файл скрипта autoit код обфусцирован, в программу нужно внести изменения, чем сделать более читабельный код ? "по сути в программе нужно активировать один из элементов"

    Всего записей: 262 | Зарегистр. 15-07-2008 | Отправлено: 16:09 28-04-2015
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Skif_off

    Цитата:
    Оно давно есть и давно работает, в 3.3.8.1 обычно использую директивы  

    Я что-то слышал такое , но не пробовал.
    Этой строки достаточно и усё?

    Код:
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****  
    #AutoIt3Wrapper_Add_Constants=y  
    #AutoIt3Wrapper_Run_Obfuscator=y  
    #Obfuscator_Parameters=/cv=0 /cf=0 /cs=0 /cn=0 /sf=1 /sv=1  
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

    Есть где-нибуть описание параметров обфусатора на русском?
     
    А как по поводу профилирования exe?

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 17:20 28-04-2015 | Исправлено: dialmak, 17:21 28-04-2015
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak

    Цитата:
    Есть где-нибуть описание параметров обфусатора на русском?  

    На английском в файле Scite4AutoIt3.chm довольно нормальное описание, несложно перевести самому.

    Цитата:
    А как по поводу профилирования exe?

    Никак, exe - это интерпретатор + au3 код. Только перекомпиляций самого интерпретатора.
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 17:40 28-04-2015
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
    Цитата:
    Есть где-нибуть описание параметров обфусатора на русском?
    Скачайте русскую справку отсюда Развитие русской справки. В ней: Функции пользователей -> Приложение -> Obfuscator.

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 18:22 28-04-2015 | Исправлено: madmasles, 18:26 28-04-2015
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    madmasles

     
    Добавлено:
    NIKZZZZ

    Цитата:
    Никак, exe - это интерпретатор + au3 код. Только перекомпиляций самого интерпретатора.  

    Гайд наверное есть, но я не нашёл. Ведь интерпретатор не приоретарный.

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 16:37 29-04-2015 | Исправлено: dialmak, 16:41 29-04-2015
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
    Из полноценных компиляторов, есть PureBasic, создает exe'шники размером в несколько килобайт, ничего лишнего, по функциональности близок к AutoIt, хотя и не на столь удобен.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 17:21 29-04-2015
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    Не. Муторный он. Тогда уж лучше C/C++. А проще конечно С#.  

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 21:26 29-04-2015
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, можно ли открыть бинарник (exe-файл) как текст в ANSI? Нужно выдернуть инфу о версии, если открыть в блокноте в ANSI, то нужное в удобочитаемом виде есть. Набросал функцию, но она возвращает только "MZђ". (Файл в %Temp% получается где-то 3,5 Мб.)
    Попробовал читать так:

    Код:
    $hFile = FileOpen($File, 0 + 16)
    $sText = FileRead($hFile)
    FileClose($hFile)
    $sText = BinaryToString($sText)

     - то же самое.
     
     
    Добавлено:
    P.S. Проверку в FileOpen() убрал для краткости.

    Всего записей: 6487 | Зарегистр. 28-01-2008 | Отправлено: 02:29 01-05-2015
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Skif_off
    Цитата:
    Нужно выдернуть инфу о версии
    А если использовать FileGetVersion()?

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 02:46 01-05-2015
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    madmasles
    Функция FileGetVersion() не срабатывает: или хитрое поле в заголовке файла, или просто ничего нет. Но номер ревизии и дата сборки точно есть в коде exe'шника.
     
    "MZђ" - это ведь начало любого PE-файла? AutoIT, наверное, как-то определяет, что это PE-файл и "по умному" (?!) не даёт открыть как текст? Хотя файл читается с середины.

    Всего записей: 6487 | Зарегистр. 28-01-2008 | Отправлено: 03:13 01-05-2015 | Исправлено: Skif_off, 03:21 01-05-2015
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Skif_off,
    ИМХО, Вам надо или читать файл (часть файла) в соответствующую структуру через API, или как-то убирать 0-символы (Chr(0)).

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 03:21 01-05-2015
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Skif_off

    Цитата:
    Подскажите, пожалуйста, можно ли открыть бинарник (exe-файл) как текст в ANSI?

    В последних версиях, без проблем.
    Пример:

    Код:
    $hFile = FileOpen($sFile, 0)
    $sText = FileRead($hFile)
    FileClose($hFile)
    $sText = StringRegExpReplace($sText,'[\x00-\x1f]','')

    Получаем $sText - только чистые символы.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 05:25 01-05-2015
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    madmasles

    Цитата:
    или как-то убирать 0-символы (Chr(0))

    Добавил

    Код:
    $sText = StringReplace($sText, Chr(0), '')
    For $i = 1 To 31
        $sText = StringReplace($sText, Chr($i), '')
    Next

    StringRegExp() с флагом 0 находит нужное (возвращает 1), а вытащить её ничем не получается.
     
    NIKZZZZ

    Цитата:
    $sText = StringRegExpReplace($sText,'[\x00-\x1f]','')

    Спасибо, что-то не сообразил так удалять в один проход. Работает шустро.

    Всего записей: 6487 | Зарегистр. 28-01-2008 | Отправлено: 05:28 01-05-2015 | Исправлено: Skif_off, 05:34 01-05-2015
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Skif_off
    Последняя версия научилась работать с Chr(0)

    Цитата:
    Fixed #2562: StringRegExp() & Null character.  

     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 05:38 01-05-2015
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ

    Цитата:
    Последняя версия научилась работать с Chr(0)  

    В данном случае Null ничему не мешал, тут моя ошибка - StringRegExp() с флагом 1 возвращает массив, а я ждал строку
     
    P.S. Случайно пришло в голову, добавил таймеры - по времени читать файл сразу, без промежуточного вытаскивания куска в %Temp%, дольше всего на 2-3 десятка миллисекунд О_о И почему сразу не проверил?..

    Всего записей: 6487 | Зарегистр. 28-01-2008 | Отправлено: 06:18 01-05-2015
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    [del]

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 17:31 06-05-2015 | Исправлено: Zloy_Gelud, 17:41 06-05-2015
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Skif_off

    Цитата:
    Подскажите, пожалуйста, можно ли открыть бинарник (exe-файл) как текст в ANSI?
    Если выводишь в мессагу, то обрезается по нечитаемым символам, но на самом деле если проверишь длину строки она будет соответствовать. По крайней мере я проблем с бинарниками читая их как ANSI не встречал на 3.3.8.1. То что рег.выр. стал работать с Chr(0), так это только он и не обрабатывал и то в особых случаях.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 19:50 07-05-2015
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

    Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)
    gyra (23-01-2020 10:51): AutoIT (Часть 4)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru