Explicando o Uglify (segurança no JavaScript e obfuscation)

Sdílet
Vložit
  • čas přidán 26. 06. 2024
  • Curso gratuito de programação WEB
    ↪discover.maykbrito.dev
    Este vídeo explora estratégias avançadas para proteger seu código JavaScript em projetos de desenvolvimento web. Discutimos como utilizar ferramentas como Uglify para compactar e dificultar a leitura do código, essencial para prevenir cópias não autorizadas e pirataria. Além disso, abordamos técnicas de obfuscation para tornar o código ainda mais complexo e desafiador de entender para terceiros. Este conteúdo é indispensável para desenvolvedores que buscam fortalecer a segurança de seus aplicativos web e proteger suas ideias e propriedades intelectuais de forma eficaz.
    - [00:11]( • Explicando o Uglify (s... ) 🛡️ Uglify é útil para compactar código JavaScript e dificultar cópias, mas para evitar pirataria na web, considere oferecer parte do frontend como serviço.
    - [01:27]( • Explicando o Uglify (s... ) 🤖 Utilizar editores como Mônaco pode dificultar a cópia de código frontend, mas não é possível evitar completamente.
    - [02:36]( • Explicando o Uglify (s... ) 🛠️ Aplicativos web devem manter a lógica crítica no backend para proteção efetiva contra cópia e engenharia reversa.
    - [03:43]( • Explicando o Uglify (s... ) 🔒 Além de Uglify, considere técnicas de ofuscação (obfuscation) para tornar o código ainda mais difícil de ser entendido.
    - [05:08]( • Explicando o Uglify (s... ) 📝 Para proteger ideias, considere patentear e atualizar frequentemente seu código, além de manter uma estratégia de negócios robusta.
    Mais conteúdo?
    ↪ maykbrito.dev

Komentáře • 28

  • @GVensino
    @GVensino Před měsícem +15

    Opa, minha pergunta virou vídeo!

    • @oinconquistado
      @oinconquistado Před měsícem +2

      Na verdade, só jogar em uma IA que ela entende mesmo "minificado" ou "uglyficado". E se você pedir pra ela escrever de forma legível, ela vai escrever.

    • @gustavoluchi
      @gustavoluchi Před měsícem +3

      Fala @GVensino
      A outra alternativa é usar renderização do lado do servidor. Usar Next.js por exemplo. Ele ainda vai conseguir remontar a funcionalidade remontando e desofuscando o Javascript que o Next gerar, mas não vai ser o seu código propriamente, porque o Next pega seu código (escrito em JSX) e transforma o que ele consegue em HTML puro e insere o que precisa de JS pra dar responsividade.

    • @YT.undefined
      @YT.undefined Před měsícem +1

      @@oinconquistado Depende do código

    • @saulotarsobc
      @saulotarsobc Před měsícem +1

      Sabia que conhecia esse nome kkkk. Te sigo ❤

  • @raphaelmatoridev
    @raphaelmatoridev Před měsícem +8

    Seria possível se ele usasse Webassembly. Como é um simulador, talvez até faça mais sentido, já que ele falou que a latência é importante.
    Mas seria mais como um obfuscador mesmo.. Ainda teria jeito de fazerem a cópia 100%. Mas ai daria pra usar a ideia de um login (mesmo que não tenha backend), daí o cara teria que crackear igual um programa de PC, editando o binário.
    Uma coisa que aprendi indo em alguns startup weekend: Se a sua ideia de negócio pode ser replicada por qualquer um (ou seja, todo o valor do seu negócio está apenas no seu software, e não no seu network, entendimento de mercado etc), então você não tem uma ideia de negócio. Se a barreira de entrada é 0, mesmo que seu negócio comece a funcionar, vai aparecer alguém com mais dinheiro que você e te engolir.
    A parte mais importante do seu business é seu conhecimento sobre o mercado/network/visão.

    • @GVensino
      @GVensino Před měsícem

      Obrigado pela resposta! Vou analisar melhor a possibilidade de WebAssembly

    • @maykbrito
      @maykbrito  Před měsícem +1

      Baixa visão! Obrigado por compartilhar com a gente Rapha!

    • @GVensino
      @GVensino Před měsícem

      Raphael, nesse caso o simulador só seria liberado localmente depois que receber um certo dado do servidor (de que o login está correto e talvez mais alguma informação codificada e de data/hora)? Ou alguma coisa mais rebuscada que isso?

    • @raphaelmatoridev
      @raphaelmatoridev Před měsícem

      @@GVensino Cara, não entra nessa pira. Se desse pra fazer isso, não existia software crackeado, ou hacker para jogos online.
      A partir do momento que o código está do lado do cliente, ele faz o que quiser com ele. O que existe são técnicas para dificultar apenas.
      O que eu disse sobre webassembly só iria dificultar, mas não impedir. Você poderia fazer um login também, e colocar um lazy-load, que só baixa o resto do código depois do usuário ter logado. Pode checar se tem mais de uma sessão por usuário, uglify, etc etc... Tudo isso só dificulta, mas impedir vai ser impossível se o código roda no cliente.

  • @o-autentico
    @o-autentico Před měsícem

    Melhores vídeos

  • @tarobba269
    @tarobba269 Před měsícem

    Olá mayk, sigo seu canal e estou aprendendo algumas mecânicas de Electron. Você tem alguma aula explicando como fez as modificações no seu Notion? Na aula de electron você falou que estava usando um Notion com algumas modificações pessoais. (Eu sei que é uma aula de 3 anos atrás 😅😅)

  • @Gabriel-ch7sx
    @Gabriel-ch7sx Před měsícem +1

    Faz um app com Tauri. Não testei mas eles prometem que é dificílimo fazer a engenharia reversa.

  • @edsonhh
    @edsonhh Před měsícem

    Eu uso um site de uglify.. Mas só pra dificultar.. pq o proprio site tem o reverso.. se o cara pegar o codigo e pesquisar um pouco, acha facil..
    Senao vc teria q ter um "Md5" do javascript

  • @leandro.cavalheiro
    @leandro.cavalheiro Před měsícem

    Tem projeto open source disso. Eu mesmo pretendo ( ja iniciei ) fazer algo open source disso pr .Net (Blazor) ... Nao pira amigão....

  • @diogenesnascimento9972
    @diogenesnascimento9972 Před měsícem +1

    e será que não existe alguma IA ou serviço que analisa esse código "bagunçado e minificado" e da sentido as funções e nomes? (pergunta sincera).

    • @arturvalex
      @arturvalex Před měsícem +1

      Pior que tem 😅, o negócio é deixar a parte funcional no Back, deixa o front só pra ler as funções.

  • @kramer4389
    @kramer4389 Před měsícem

    Se eu criar um bot para vender que tem acesso a uma api que é minha mas nao quero que a pessoa veja como foi feito a questao de api e tals e ela so use o bot sem modificar? Seria bom isso que vc falou?

    • @maykbrito
      @maykbrito  Před měsícem +1

      Se a api é sua, já está tranquilo, pq os dados estão no back. Mesmo que a pessoa possa ver a rota, ela deverá se autenticar pra acessar sua api. No caso do colega, praticamente o sistema dele inteiro estava na parte do front, o que fica complicado esconder algumas regras de negócio

    • @kramer4389
      @kramer4389 Před měsícem

      @@maykbrito legal, vou criar um bot do Discord que trabalha bastante com js e depois tentar vender ou doar mas sem que as pessoas precise mexer ou alterar algo, eu poderia deixar um Json para modificar algumas coisas básicas como nome do bot, id do Discord etc...

  • @fernandocosta3307
    @fernandocosta3307 Před měsícem +4

    Um júnior foi detectado

    • @GVensino
      @GVensino Před měsícem

      Poxa kkk, não sou junior.

    • @maykbrito
      @maykbrito  Před měsícem +3

      @@GVensino relaxa mano. Daqui pra frente a gente chama o fernandocosta3307 que é sênior supremo e sabe as respostas de todas as dúvidas do universo. Desinstala o google da internet, pq temos o fernandocosta3307 nos comentários 🎉

    • @GVensino
      @GVensino Před měsícem

      @@maykbritokkkkkkkkk

    • @aghastygdproductions
      @aghastygdproductions Před měsícem

      @@maykbrito kkkkkk

  • @Trpaladini
    @Trpaladini Před měsícem

    Github fuxa o projeto que o cara quer fazer