Jump to content

Search the Community

Showing results for tags 'extradir código'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Administração
    • Regras do fórum
    • Anúncios e Noticias
    • Moderação de Usuário
  • Geral
    • Chat (Offline)
    • Chat de Desenvolvedores
    • Diretivas de Segurança
    • Board Test
  • Autoit v3
    • Ajuda e Suporte geral
    • Ajuda e Suporte à GUI (Interface Gráfica de Usuário)
    • Exemplos de Scripts
    • UDFs (Função Definida pelo Usuário)
    • Tutoriais & VideoAulas
    • Microcódigos

Calendars

There are no results to display.

There are no results to display.


Found 1 result

  1. SourceCode Please!

    Olá! O assunto deste tópico é mostrar que existe vida após a compilação, e não é utilizando a tão famigerada "descompilação", pois mesmo que você consiga descompilar e obter o .au3 do executável, ele virá tão descaracterizado, tão bagunçado que a sua primeira reação será essa: Isso porque o AutoIt junta tudo o que é usado, de todos os includes em um único arquivo! Então se você tem fantasia na cabeça que vai um descompilar um .exe do AutoIt, e vai obter um código fofinho, bonitinho e formatadinho... Senta e chora neném, porque não vai não! Faça o teste com um simples ConsoleWrite("hello world"). Olharás para o código mil vezes de manhã, dez mil vezes durante a madrugada, e nada entenderás! As vezes nem eu mesmo entendo o código formatado que acabei de criar à 10 minutos atrás, imagina o que fiz ontem... Com mais de um ano, vixi... Mas e se você embutir em seu executável uma forma de extrair o código fonte limpinho! Do jeito que era! Formatadinho! Não seria legal? Eu faço isso em alguns script e confesso, foi a melhor coisa, pois realmente me salvou. Segue exemplo: #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_UseUpx=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include-once #include <FileConstants.au3> If $CmdLine[0] Then If $CmdLine[1] = "sourcecode" And $CmdLine[2] = "please" Then FileInstall("teste.au3", "teste" & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & ".au3", $FC_OVERWRITE) EndIf ConsoleWrite("Hello world" & @LF) Obs: FileInstall no primeiro parâmetro, que é a referência do arquivo não suporte variáveis, tem que ser literal, isto é: "C:\fakedir\fakescript.au3", se colocar @ScriptDir & "\fakescript.au3" vai dar erro. No MS-DOS: Pasta de C:\AutoIt\SourceCodePlease 07/09/2017 09:51 <DIR> . 07/09/2017 09:51 <DIR> .. 07/09/2017 09:50 465 teste.au3 07/09/2017 09:50 384.512 teste.exe C:\AutoIt\SourceCodePlease>teste.exe sourcecode please C:\AutoIt\SourceCodePlease>dir O volume na unidade C é teste O Número de Série do Volume é 72C2-FA67 Pasta de C:\AutoIt\SourceCodePlease 07/09/2017 09:51 <DIR> . 07/09/2017 09:51 <DIR> .. 07/09/2017 09:50 465 teste20170907095129.au3 07/09/2017 09:50 465 teste.au3 07/09/2017 09:50 384.512 teste.exe Logicamente, você pode brincar bastante com o $CmdLine, colocar uma senha associada ao número do dia, exemplo: Se hoje é dia 5, a senha tem que estar no $CmdLine[5+2]. Se hoje é dia 10, a senha tem que estar no $CmdLine[10+2]. Porque o +2? $CmdLine[0] = número de elementos do array $CmdLine[1] = sourcecode $CmdLine[2] = a $CmdLine[2] = u $CmdLine[3] = t $CmdLine[4] = o $CmdLine[5] = i $CmdLine[6] = t $CmdLine[@mday+2] = please Entendeu? Quando você digita script.exe param1 param2 param3, tudo o que você digitar depois do nome do executável é parâmetro, e são separados por (ou pelos) espaço(s) entre eles. Então o que tem efeito, é o $CmdLine[1] e o $CmdLine[@mday+2], o resto... coloca qualquer coisa, pois vai ser ignorado mesmo. Assim não fica tão fácil de obter o seu sourcecode. Algum tempo depois... Depois da postagem, fiquei pensando em algo... Os includes feitos pelo FileInstall, de que forma ficam? Será que quando eu descompilo, eu não coloquei o código "limpinho" em outro lugar que fica mais fácil ainda de obter do quem com um decompiler? Fiz essa pergunta no fórum americano, se tiver interesse, veja mais aqui. Well... Segundo o J :blink: s, "É seguro? Não". Não tenho conhecimento técnico suficiente neste momento para poder falar mais sobre o assunto. Já que o FileInstall não é uma UDF, é uma função nativa do AutoIt, portanto, de código fechado, o qual não tenho acesso. Existe o código aberto do AutoIt da versão 1.x, mas acho que não serve mais nem pra referência. Comercialmente não é uma boa prática[1]. Mas em desenvolvimento, eu considero uma boa ideia[2]. Então o final é cerveja! [1]BRAHMA ou [2]SKOOL, você escolhe, mas use com moderação. (isso é uma piada, ou tentativa) Veja também: https://www.autoitscript.com/autoit3/docs/intro/running.htm
×