Jump to content

Livro: Fundamentos de Engenharia Reversa


Fernando Mercês

Recommended Posts

  • Administrators

Queridos amigos,

No dia 12 de Maio de 2018 lançamos este livro online, em português e totalmente gratuito, graças ao apoio de vocês! O livro é de vocês: http://menteb.in/livro

Este tópico é para discutir sobre o livro, sugestões, críticas, correções, etc. Por favor, usem e abusem dele! Toda a comunidade agradece! ?

  • Agradecer 2
Link to comment
Share on other sites

  • 4 weeks later...

@Fernando Mercês já pesquisei no Google algum post sobre algo parecido ao um dicionario com palavras: bitwise, bypass e seus significados e não encontrei nada. Acho que seria bem legal ter uma especie de Dicionario de RE no livro Fundamentos de Engenharia Reversa . Eu não sabia o que era "bitwise" (bit-a-bit) ate ler o livro  http://menteb.in/livro

 

Muito obrigado pelo excelente trabalho que você vem desenvolvendo.

Abraço!

Edited by Aof
Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

@Fernando Mercês    "Para enriquecer o aprendizado, é esperado que você digite os comandos com este na console do Python:"

                                           "Para enriquecer o aprendizado, é esperado que você digite os comandos. Como este, no console do Python:"

 

PS: excelente conteúdo!

Edited by asouza
Link to comment
Share on other sites

O conteúdo é muito bom mas nunca compreendi o porquê de continuar a fazer conteúdo com python 2.7 especialmente quando vai deixar de ter suporte dentro de 1 ano, 

https://pythonclock.org/

nuca fez sentido para mim usar python na versão 2.7, python já vai quase na versão 4, no entanto ainda continua a acontecer fazer conteúdo com uma versão praticamente obsoleta, podemos ver isso a acontecer em livros com edição bastante recente o código vir em python 2.7 e ser cobrado um valor absurdo por esse conteúdo...

Talvez seja uma religião... ?

 

856172720_Capturadeecr_2018-09-22_21-22-09.png.d52d69f88480c9d1b4507c174945e683.png

 

Amen ?

Link to comment
Share on other sites

  • Administrators

Hahaha, @gnoo. Na verdade eu usei a 2.7 simplesmente porque foi a que abriu no meu sistema quando digitei "python". Não é nenhum requisito não. Vou garantir que tudo estará atualizado para a última versão antes do lançamento da versão final do livro. Obrigado por lembrar. ?

Link to comment
Share on other sites

Correção para numero octal, 012 esta correto entretanto é necessario tambem seu sufixo 'o' se tentar printa-la simplesmente como 012 dara o seguinte erro:

Python 3.6.1 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux
   
Traceback (most recent call last):
  File "python", line 1
    012
      ^
SyntaxError: invalid token
   

Ao usar o sufixo deixando 0o12 ('0octal') você terá o resultado esperando que é 10.

0o12

Python 3.6.1 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux
   
=> 10   
Edited by Sulivan Tavares Leite
correção do print de erro.
Link to comment
Share on other sites

Correção de português:

 

Hexadecimal

Finalmente o queridinho hexa (para os íntimos); o sistema de numeração que mais vamos utilizar durante todo o livro. O hexadecimal apresenta várias vantagens sobre seus colegas, a começar pelo número de símbolos: 16. São eles: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F, em que os números que eles foram formam são normalmente prefixados com 0x.

(se minha correção não for a correta e o termo realmente for 'foram' favor desconsiderar).

Link to comment
Share on other sites

14 horas atrás, Sulivan Tavares Leite disse:

Correção para numero octal, 012 esta correto entretanto é necessario tambem seu sufixo 'o' se tentar printa-la simplesmente como 012 dara o seguinte erro:


Python 3.6.1 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux
   
Traceback (most recent call last):
  File "python", line 1
    012
      ^
SyntaxError: invalid token
   

Ao usar o sufixo deixando 0o12 ('0octal') você terá o resultado esperando que é 10.

0o12


Python 3.6.1 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux
   
=> 10   

 

@Sulivan Tavares Leite  essa correção não faz sentido nenhum, és tu quem está a cometer o erro de não seguir os requisitos do livro...

 

No tópico " Antes de começar ",  está bem explicito que para seguir o conteúdo do livro, deve-se utilizar a versão 2.7 do python

https://mentebinaria.gitbook.io/engenharia-reversa/antes-de-comecar

e tu estás a usar ( como é lógico ), a versão 3.6 do python, é dai que esse erro aparece, se tentares introduzir esses dados no python 2.7 esse erro não vai aparecer.

 

Outra questão que na minha opinião deverias ter em conta, é sobre o facto  estares a utilizar um interpretador que NÃO É nativo do python, pelo que eu entendi tu estás a utilizar o repli.it ,  corrige-me se eu estiver errado.... esse código é interpretado por javascript, o que pode algumas vezes dar origem a pequenos erros ... ou talvez não... 

O mais importante disto tudo é que tu, estás a utilizar uma versão do python que não é compativel com o conteúdo do livro. 

Abraço.

 

@Fernando Mercês tens mesmo que atualizar isso ? 

 

Edited by gnoo
Link to comment
Share on other sites

4 horas atrás, gnoo disse:

 

@Sulivan Tavares Leite  essa correção não faz sentido nenhum, és tu quem está a cometer o erro de não seguir os requisitos do livro...

 

No tópico " Antes de começar ",  está bem explicito que para seguir o conteúdo do livro, deve-se utilizar a versão 2.7 do python

https://mentebinaria.gitbook.io/engenharia-reversa/antes-de-comecar

e tu estás a usar ( como é lógico ), a versão 3.6 do python, é dai que esse erro aparece, se tentares introduzir esses dados no python 2.7 esse erro não vai aparecer.

 

Outra questão que na minha opinião deverias ter em conta, é sobre o facto  estares a utilizar um interpretador que NÃO É nativo do python, pelo que eu entendi tu estás a utilizar o repli.it ,  corrige-me se eu estiver errado.... esse código é interpretado por javascript, o que pode algumas vezes dar origem a pequenos erros ... ou talvez não... 

O mais importante disto tudo é que tu, estás a utilizar uma versão do python que não é compativel com o conteúdo do livro. 

Abraço.

 

@Fernando Mercês tens mesmo que atualizar isso ? 

 

Compreendi. falha minha. Então grato pelo auxilio ?

Correto uso Repl.it (é mais usual para mim utilizar um editor online para salvar meus projetos independente de sistema operacional ou computador, a questão para mim é mais adaptar o código do livro para que funcione no meu ambiente de trabalho e assim minha compreensão do mesmo sera mais ampla)

Todos os exemplos do livro funcionaram para mim com algumas adaptações em questão a ocasião no caso do python o uso de 0o antes de um numero octal foi o suficiente para dar continuidade sem erros.

Edited by Sulivan Tavares Leite
Falto algumas considerações.
Link to comment
Share on other sites

  • Administrators

@gnoo corrigido! Era um erro mesmo, obrigado!

@Sulivan Tavares Leite, valeu por alertar. É algo que vou me deparar quando atualizar o livro para a última versão do Python como o @gnoo sugeriu. Confesso que achei a 2.7 mais direto ao ponto, mas fazer o quê?! rs

Quanto ao livro do Eriberto, eu não conheço essa versão gratuita mas pelo número de páginas que você comenta, realmente é muito pouco perto de todo o conteúdo que tem lá. Recomendaria adquirir a versão completa. Além de tudo, é uma baita força para os bons autores nacionais, que estão cada vez mais raros. A maioria traduz conteúdo gringo e muitas vezes traduz mal. Acho que impulsionar a criação autoral de qualidade é sempre uma boa ideia. ?

Abraços, galera!

Link to comment
Share on other sites

Em 28/09/2018 em 20:37, Fernando Mercês disse:

@gnoo corrigido! Era um erro mesmo, obrigado!

@Sulivan Tavares Leite, valeu por alertar. É algo que vou me deparar quando atualizar o livro para a última versão do Python como o @gnoo sugeriu. Confesso que achei a 2.7 mais direto ao ponto, mas fazer o quê?! rs

Quanto ao livro do Eriberto, eu não conheço essa versão gratuita mas pelo número de páginas que você comenta, realmente é muito pouco perto de todo o conteúdo que tem lá. Recomendaria adquirir a versão completa. Além de tudo, é uma baita força para os bons autores nacionais, que estão cada vez mais raros. A maioria traduz conteúdo gringo e muitas vezes traduz mal. Acho que impulsionar a criação autoral de qualidade é sempre uma boa ideia. ?

Abraços, galera!

Não à de que. 

Pequeno erro encontrado no tópico Assembly :

Se você já estou  estudou portas lógicas, vai perceber que este CI tem 4 portas NAND (AND com saída negada). Cada porta possui duas entradas e uma saída, cada uma delas conectada a seu respectivo pino/perna.

Pretendo adquirir sim. Assim que eu for começar a ler sobre Linux (aproveitarei o embalo dai).

Pequena correção na sessão Assembly - Instruções básicas

O resultado da comparação é configurado no registrador EFLAGS, o que significa dizer que a instrução CMP altera as flags, para que instruções futuras tomem decisão baseadas nelas. Por exemplo, para operandos que foram iguals iguais, a CMP faz ZF=1.

Pequena correção na sessão Assembly - Funções e Pilha

Nos primórdios da computação as funções eram chamadas de procedimentos (procedures). Em algumas linguagens de programação, no entanto, possuem tanto funções quanto procedimentos. Estes últimos são "funções que não retornam nada". Já no paradigma da progamação  programação orientada a objetos (POO), as funções de uma classe são chamadas de métodos.

Excelente livro. ?

Edited by Sulivan Tavares Leite
Adição de correção
Link to comment
Share on other sites

  • 2 months later...
  • 2 weeks later...
  • 1 year later...

Excelente trabalho, Fernando

Na seção de cadeias de texto UNICODE:

A string para "Erro" em UTF-16 little endian não deveria ser

45 00 72 00 72 00 6f 00
ao invés de
45 00 72 00 72 00 6f
?

(caso esteja errado, o erro também se repete no exemplo que coloca o null byte no fim da string:
45 00 72 00 72 00 6f 00 00 00
ao invés de
45 00 72 00 72 00 6f 00 00
)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...