Что нового

Запуск значения переменной на исполнение

Статус
Закрыто для дальнейших ответов.

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Viktor1703 [?]
циклы он не способен обработать
Теоретический, можно было бы написать обработчик, типа такого:

Код:
_Execute(ClipGet())

Func _Execute($sString)
	Local $aSplit = StringSplit(StringStripCR($sString), @LF)
	
	For $i = 1 To $aSplit[0]
		If StringStripWS($aSplit[$i], 8) = '' Or StringRegExp($aSplit[$i], '^\h*;') Then
			ContinueLoop
		EndIf
		
		$sVar = StringRegExpReplace($aSplit[$i], '^(?:\h*\$(\w+)\h*=\h*)?.*', '\1')
		$sLine = StringRegExpReplace($aSplit[$i], '^(?:\h*\$\w+\h*=\h*)?(.*?)', '\1')
		
		If StringStripWS($sLine, 8) = '' Then
			ContinueLoop
		EndIf
		
		If $sVar <> '' Then
			Assign($sVar, Execute($sLine), 2)
		Else
			If StringRegExp($sLine, '(?i)^\h*While\h*') Then
				$sWhile_Statement = StringRegExpReplace($sLine, '(?i)^\h*While\h*', '')
				
				While $sWhile_Statement
					For $j = $i + 1 To $aSplit[0]
						If StringRegExp($aSplit[$j], '(?i)^\h*WEnd\h*') Then
							ExitLoop
						Else
							_Execute($aSplit[$j])
						EndIf
					Next
				WEnd
				
				$i = $j
				
				ContinueLoop
			EndIf
			
			If StringRegExp($sLine, '(?i)^\h*Exit') Then
				;Exit
			EndIf
			
			Execute($sLine)
		EndIf
	Next
EndFunc


но естественно сразу встаёт вопрос о реализации обработки событии, условности и т.д. и т.п.
 

astati

Новичок
Сообщения
145
Репутация
4
Дамсь. походу это области запредельные для меня. Т.к. я ничего не понял.
:-\ :blink: :scratch: :scratch:
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
astati
Просто интересно
Насколько понял - хочешь реализовать свою защиту от декомпилирования.
Типа так:
При запуске скрипта
- читаем заранее зашифрованный файл
(он ведь зашифрован и ни кто не увидит код)
- расшифровываем
- расшифрованный - это код AutoIt
- запускаем на исполнение расшифрованный код
Так?

Интересно, - насколько стойкая защита?
Возможно я не прав.
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Yuriy [?]
Интересно, - насколько стойкая защита?
Ни на сколько. Пароль к зашифрованному скрипту храниться в программе -> значит его можно узнать, а зная его расшифровать файл не составляет труда.
 

astati

Новичок
Сообщения
145
Репутация
4
В точку братан :smile:

Медик - мы тут тож не лыком шиты. Можно продумать так что имея даж пароль не смогут.

1 - Пароль можно закодировать
2 - Каким алгоритмом закодированно не сразу поймешь
3 - Эт ж защита от людей у которых руки чешутся вскрыть и под себя переписать. Так он декомпильнет, ниче не поймет и плюнет. :laugh:
4 - ограничений нет. ну тольк воображением что ли
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
astati, поймите одну вещь, с помощью той функции которой Вы расшифровываете файл может воспользоватся каждый, достаточно только декомпилировать основную программу, хотя можно и без декомпиляции обойтись, на крайний случай можно бэкап снать, защиты нет и не будет
 

astati

Новичок
Сообщения
145
Репутация
4
Господа - ну почему же вы так узко мыслите? Что думаете я не понимаю этого?...
Но и способов предотвращения этого предостаточно.
Так что Креатор - я не считаю это маразмом.
Потому как я убедился, что даже ваш не маразм спокойно обходят и ломают :smile: :rofl:
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
astati
ты кажется не понял в чем основной посыл - ломают все, и иногда игра просто не стоит свеч.
 

astati

Новичок
Сообщения
145
Репутация
4
Кастер - тодга скажи что мне делать если я написал программу. Хочу её выложить но понимаю что её легко декомпильнуть?
1-или переводить на другой язык
2-или искать способы усложнения прочтения кода

P.S. а проблем бы не было если бы все УМЫ аутоита собрались и нормальный компилятор написали, а не это жалкое подобие.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
astati,
нет смысла декомпилировать код скажем в 5000 строк. Никто не будет в таком коде разбираться. Лучшая защита кода - его объем.
Это только школота написавши програмку в 20 строк считает что она ну просто очень важная и сейчас все кинутся её декомпилировать. И начинают придумывать всякие никому не нужные защиты.
Забей...
 

astati

Новичок
Сообщения
145
Репутация
4
у мня прога при декомпиле строк 30 000 получается :smile:
Ты не прав. Не надо быть наивным Т.к. найдя форму главную(а это почти в самом конце) легко вычислить все функции.

P.S.
А если бы - чисто к примеру ты узнал бы что представим у мня в коде есть рега на маил ру без гемороя? Всяко бы вскрыл и искал бы. Чтобы получить.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Это второстепенно.
Ты считаешь что твоя прога очень всем нужна? Настолько нужна что кто-то возьмется её декомпилировать?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
astati
1. тебе дали ссылку, где описаны некоторые приемы защиты программы, но конечно же не абсолютные. но некой защитой от дурака вполне могут послужить.
2. опубликовать лицензию и надеяться на честность людей.

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

окончательный вердикт уже дан - есть тема где разжевано-пережевано все по этому поводу. тебе остается только проглотить.
 

astati

Новичок
Сообщения
145
Репутация
4
Читал, читаю и буду читать. все темы по данной проблеме.
Но ответы не впечатляют пока что. из-за узкости рассмотрения. За все советы конечно же спасибо.

P.S. но я думаю в этой области многие тайны еще не открыты. Так что можно и поработать.
P.S.S. Думаю из темы все что можно было уже выжато.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
astati [?]
Думаю из темы все что можно было уже выжато
С головой.
Завершим тему на ноте предупреждения...
Предупреждение За оффтопик
 
Статус
Закрыто для дальнейших ответов.
Верх