Criando um ransomware simples com Golang

Sumário

  • Introdução
  • Um pouco de história
  • Estrutura básica
  • Implementação em Golang
  • Considerações finais

Introdução

Richard Feynman, Físico Teórico

Eu acho que essa frase de Richard Feynman, um importante físico do século passado, resume bem a sensação que todo programador passa em seus estudos.

Neste caminho, eventualmente todos se encontram com a área de Segurança da Informação (ou com um linguajar da moda, Hacking). É como o ying yang: programadores devem ter um pouco de hackers e vice versa.

Algumas semanas atrás me fiz um questionamento: Como ransomwares funcionam? Acabei que estudei algumas implementações públicas e aqui estou para apresentar um…


Creating a simple ransomware with Golang

Summary

  • Introduction
  • A bit of history
  • Basic structure
  • Implementation in Golang
  • Final Considerations

Introduction

Richard Feynman, Físico Teórico

I think that this quote from Richard Feynman, a important Physicist from the past century, summarize very consistent the feeling that every programmer has with its studies in the area.

In this path, eventually everyone will face the InfoSec area (or with a more hyped term, Hacking). It is like the ying yang: programmers should have a foot in the camp of hacking, and vice versa.

Some weeks ago I made myself the question: How a Ransomware works? I have studied some public implementations and here I am…


Criando uma CLI simples para codificar textos para Base 64

Tópicos

  • Introdução
  • Concepções sobre encoding, encrypting e hashing
  • Como Base 64 funciona
  • Implementando Base 64 em Golang
  • Considerações finais

Introdução

Em algum momento de seus estudos em programação/ciência da computação, você irá se deparar com o encoding. Se você iniciou com HTML, por exemplo, uma das tags importantes de se incluir no <head> é a <meta charset>. Esta tag expõe ao navegador que irá montar a árvore de elementos HTML qual tipo de codificação ele deve utilizar para mostrar apropriadamente os caracteres do arquivo.

Encoding é o processo de representar caracteres a…


Creating a simple CLI to encode texts to Base 64

Sumary

  • Introduction
  • Misconceptions between encoding, encrypting and hashing
  • How Base 64 works
  • Implementing Base 64 in Golang
  • Final considerations

Introduction

In some time of your studies in programming/computer science you will encounter the encoding subject. If you started with HTML, for example, one of the most important tags that the <head> needs is the <meta charset>. This tag exposes to the browser that will mount the HTML tree what kind of encoding it have to use to properly shows the characters included in your file.

Encoding is the process to represent real…


How to take best decisions from Big O notation comprehension

Sumary

  • Introduction
  • Asymptotic complexity and the Big O
  • Algorithms comparison

Introduction

In the beginning of computation and programming studies, it’s essential that besides programming logic and common strucures of all programming languages (such as conditionals and repeat loops) be deepened knowledgements about data structures and algorithms.

However, there are some concepts that only make sense when the programmer start to work in real projects, where people uses its systems and many factors come up, such as performance and response speed of the applications.

The code writed by software developers include not only…


Como tomar melhores decições a partir do entendimento da notação Big O

Sumário

  • Introdução
  • Complexidade assintótica e Big O
  • Comparação entre algoritmos

Introdução

No início dos estudos de computação e na carreira como programador, é essencial que além da lógica de programação e das estruturas comuns a todas as linguagens de programação (condicionais, loops de repetição, etc) seja aprofundado os conhecimentos em estruturas de dados e algoritmos.

Porém, há alguns conceitos que farão sentido apenas quando o programador começar a se envolver em projetos reais, onde pessoas utilizarão os sistemas criados por ele e diversos fatores entram em jogo, sendo um dos…


Criando um downloader de vídeos do Twitter

Tópicos

  • Introdução
  • Planejamento
  • O Hello World da Extensões
  • Scripts de Background
  • Conclusão

Introdução

Um dos motivos que alavanca o Chrome em relação aos browsers competidores é sua extensa comunidade de extensões, levando os outros navegadores a integrar o sistema de extensões do próprio Chrome para seguirem relevantes. O ecossistema é rico em diversas soluções para uma navegação mais sofisticada em possibilidades, e a Google faz um ótimo trabalho em simplificar o desenvolvimento das extensões.

Nos próximos parágrafos, pretendo realizar uma introdução ao desenvolvimento de Chrome Extensions. O objetivo final é uma extensão personalizada para fazer o download de vídeos do Twitter. …


Creating a Twitter video downloader

Topics

  • Introduction
  • Planning
  • The Extension’s Hello World
  • Background Scripts
  • Conclusão

Introduction

One of the reasons that Chrome shows itself superior to other browsers is its huge extension community, leading everyone to integrate its system to remain relevants. The ecossystem is rich in a diverse of solutions to a more sophisticated navigation, and Google makes a great job simplifying the extension development.

In the next paragraphs, I pretend to introduce to Chrome Extensions development. The final objective is a extension to download videos of Twitter. The prerequisites to follow this post is the basic knowledge of HTML, CSS and Javascript.

Planning

Before we start…


In time measurements closest to us, in 4 minutes

Topics

  • Introduction
  • Starting in React
  • The JSX
  • React Hooks
  • Next Steps

Introduction

The frontend doesn’t summarize itself to just Html, Css and Javascript in some time. What we know as “Modern Web” has been structured around countless Javascript frameworks and libs. Some of them stand out and shape the ecosystem: that’s the case of React, Angular and Vue (with a mention for Svelte, which is growing a lot).

React shows itself as a Javascript lib for making componentized interfaces and as the name suggests, reactive and interactive systems. …


Em medidas de tempo mais próximas de nós, em 4 minutos

Tópicos

  • Introdução
  • Iniciando no React
  • O JSX
  • React Hooks
  • Próximos passos

Introdução

O frontend não se resume mais a apenas Html, Css e Javascript há algum tempo. O que conhecemos como “Web Moderna” foi estruturado em volta dos inúmeros frameworks e bibliotecas Javascript criadas. Entre elas, algumas se sobressaem e modelam o mercado: É o caso da trindade React, Angular e Vue (com menção ao Svelte que vem em pleno crescimento).

O React se apresenta como uma biblioteca Javascript para construção de interfaces componentizadas e, como o nome sugere, sistemas reativos e interativos. …

Luan Souza

| Computer Student | Software Developer | Brazil |

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store