Jump to content
Fernando Mercês

Livro: Fundamentos de Engenharia Reversa

Recommended Posts

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! 😍

Share this post


Link to post
Share on other sites

"Assim como o hardware, o software também pode ser desmontado. De fato, existe uma categoria especial de softwares com estão função chamados de disassemblers, ou desmontadores."

Achei este errinho ortográfico lendo o livro...

Mais uma vez, parabéns, Fernando.

  • Agradecer 1

Share this post


Link to post
Share on other sites
7 horas atrás, marconilenza disse:

Achei este errinho ortográfico lendo o livro...

Beleza, corrigido! Muito obrigado por reportar, pelo apoio e por tudo mais! Espero que curta o livro!!! \o/

Share this post


Link to post
Share on other sites

"O sistema binário surgiu há muito tempo e não vou arriscar precisar quando nem onde mas em 1703 o alemão Leibniz publicou um"

acredito que faltou um ponto seguido em nem onde

 

Edited by Aof

Share this post


Link to post
Share on other sites

sistema de numeração decimal. No entanto, em binário binário, como o próprio

Não tenho certeza, mas acho que foi erro mesmo. Ou não. hehehe😎 

Share this post


Link to post
Share on other sites

@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
  • Curtir 1

Share this post


Link to post
Share on other sites

No capítulo que trata de Números Negativos, o seguinte parágrafo:

O que aconteceu? Bem, realmente 0b11110101 dá 246 (em decimal)...

Há uma inversão nos bits. O correto seria:

O que aconteceu? Bem, realmente 0b11110110 dá 246 (em decimal)...

Share this post


Link to post
Share on other sites

@Fernando Mercês  gostei do projeto, pelo que entendi e sobre oque vc já faz compartilha conhecimento, e com as nossa pergunta e suas resposta todos aprendem.

 

Eu estou aqui Fernando se precisar e só me CALL,

se for preciso escrever estamos ai.

abraços!

Share this post


Link to post
Share on other sites

@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

Share this post


Link to post
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 😇

Share this post


Link to post
Share on other sites

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. 😉

Share this post


Link to post
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.

Share this post


Link to post
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).

Share this post


Link to post
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
  • Curtir 1

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

@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!

Share this post


Link to post
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

Share this post


Link to post
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...