O que siginifica esse texto escrito em binário!

1. O que siginifica esse texto escrito em binário!

Apprentice X
ApprenticeX

(usa FreeBSD)

Enviado em 30/05/2024 - 23:37h

Boa Noite a todos.

O trecho de texto abaixo escrito em linguagem binária:
0111111101000101010011000100011000000010000000010000000100001001000000000000000000000000000000000000000000000000000000000000000000000010000000000011111000000000000000010000000000000000000000001110000000010101 


Alguém pode me explicar o que está escrito em linguagem humana?

Sendo que:
Palavras como: ELF, STX, ETX, NULL, DEL, RS, US eu já conheço seu significado!
Palavras e textos de linguagem de programação, também sei seu significado!
Palavras em assembly, isso inclui TODOS os registradores, eu sei o significado!
Palavras em hexadecimal, decimal, octal, também sei seu significado!
Qualquer character que conste na tabela ascii incluindo os não imprimíveis, também sei o significado!

Uma das coisas que não sei é o que significa 00000000 em linguagem binária

Em minhas pesquisas uma das coisas que compreendi é sobre o cabeçalho: ELF
Entendi que ele irá constar em todo arquivo compilado, estou buscando informações para saber onde começa e onde termina esse cabeçalho!

Mas acredito que deva existir mais coisas escritas, cada uma com seu formato para que o arquivo binário faça algum sentido!
Quem puder ajudar agradeço!

OBS:
A pergunta não é sobre engenharia reversa, não é sobre converter binário em assembly, não é sobre modificar nenhum programa!
A pergunta é sobre ler, entender e interpretar o que está escrito em binário no arquivo, da mesma forma que lemos, entendemos o que siginifica pontuação, vírgula, espaços, tabulação, parágrafos, quebras de linha em um arquivo quando estamos lendo ele!

O mesmo quando lemos um arquivo HTML, sabemos o que significa <br>, <head>, <div> Ou seja, sabemos o porque de cada texto estar entre cada tag.

E como informei acima, assim como o HTML tem regras para iniciar o arquivo, entendi que no início do binário tem o cabeçalho ELF com suas regras, mas existe mais coisas que não sei!



  


2. Re: O que siginifica esse texto escrito em binário!

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 31/05/2024 - 10:56h

Cara, vou te dar uns conselhos simples que podem lhe ajudar no seu estudo.
--estude uma coisa por vez, porém, evite dar um passo maior que a perna
O que vejo é que vc ainda precisa aprender ainda sobre números binários e conversão de valores.
Estude conversão de binário para decimal e de decimal para binário, é um algoritmo simples, vc aprende em questão de uma hora.
--foque em aprender o básico da linguagem, uma base sólida vc constrói um prédio grande.
Pra editar os arquivos elf vc precisará usar libs prontas, ou no máximo reinventar a roda editando tudo na mão.
O que digo é, estude C, aprenda primeiro os conceitos básicos e vá avançando até chegar em estruturas de dados e vc terá o conhecimento necessário para ir caçar dos elfos (elf).

Eu sei que vc refere a abrir/editar/usar arquivos elf, porém, ainda há falhas no seu conhecimento, essas falhas se resolvem facilmente parando um pouco os elf e estudando as bases do C.
Vou te dar uma sugestão: se quiser estudar C, eu posso te ensinar o básico pra se virar sozinho. Já ensinei programar a algumas pessoas. Isso é uma oferta de ajuda, aceite se quiser, se aceitar, pode responder aqui mesmo, caso não queira, não faz mal.

Quanto ao arquivos elf, tem a especificação completa aqui:
https://refspecs.linuxfoundation.org/elf/elf.pdf
Observe que é bom vc aprender inglês pra poder ler as docs como essa já que a maioria é tudo em inglês.

E o texto binário ai,
01111111
01000101
01001100
01000110
00000010
00000001
00000001
00001001
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000010
00000000
00111110
00000000
00000001
00000000
00000000
00000000
11100000
00010101

Dividindo o texto de 8 em 8 caracteres temos 26 bytes.
Um byte nada mais é que 8 bits e por isso vc divide eles de 8 em 8.
Agora, vc precisa dizer qual a ordem dos bits, se começa da esquerda pra direita, ou se começa da direita pra esquerda.
Porque a ordem dos 8 bits vai definir qual é o valor do byte.
Normalmente a ordem de leitura é da direita pra esquerda.



https://tutorialprofissa.blogspot.com/ blog com tutoriais de programação em geral
https://nerdki.blogspot.com/ acessa ai, blog dedicado Paranóia!
https://github.com/cpusam com o bug fix vem a perfeição!


3. Re: O que siginifica esse texto escrito em binário!

aguamole
aguamole

(usa KUbuntu)

Enviado em 31/05/2024 - 12:03h

Cada binário tem uma especificação de cabeçalho diferente, vai ter que estudar cada um.
Vc vai ter que ler coisa absurda, tem muita abstração em um sistema operacional.

Eu já expliquei para ele em outro tópico que os bits andam de 8 em 8 formando 1 byte, foi por isso que ele posto tudo em uma linha, já que é assim que o computador interpreta.


4. Re: O que siginifica esse texto escrito em binário!

aguamole
aguamole

(usa KUbuntu)

Enviado em 31/05/2024 - 12:56h

Eu acho que aqui o povo te entendeu, mas aqui não acho que tenha alguém que tenha o conhecimento para o que vc quer aprender, pessoas que estudam e sabem a programação no nível de maquina são raríssimas.

Mas desiste não, continue postando, vai que apareça do nada alguém que possa te explicar.
Existe outro fórum também que a comunidade é bacana, aparece lá, segue: https://plus.diolinux.com.br/c/linux/7
Esse fórum dio linux é sobre tecnologia, a maior parte é da comunidade é de Linux, mas o fórum é sobre tecnologia.


5. Re: O que siginifica esse texto escrito em binário!

Buckminster
Buckminster

(usa Debian)

Enviado em 31/05/2024 - 18:44h

01111111 = DELETE
01000101 = E
01001100 = L
01000110 = F
00000010 = STX (Start of Text, Começo de Texto)
00000001 = SOH (Start of Header, Começo de Cabeçalho)
00000001 = SOH (Start of Header, Começo de Cabeçalho)
00001001 = HT (Tabulação Horizontal)
00000000 = NUL
00000000 = NUL
00000000 = NUL
00000000 = NUL
00000000 = NUL
00000000 = NUL
00000000 = NUL
00000000 = NUL
00000010 = STX (Start of Text, Começo de Texto)
00000000 = NUL
00111110 = > (Sinal de Maior)
00000000 = NUL
00000001 = SOH (Start of Header, Começo de Cabeçalho)
00000000 = NUL
00000000 = NUL
00000000 = NUL
11100000 = à (a minúsculo craseado)
00010101 = NAK (Negativa de Confirmação)

Veja a Tabela ASCII no link abaixo:
https://www.ime.usp.br/~kellyrb/mac2166_2015/tabela_ascii.html

ou aqui
https://theasciicode.com.ar/ascii-control-characters/nak-negative-acknowledge-ascii-code-21.html#goo...

ou aqui
https://www.dm.ufscar.br/profs/caetano/iae2004/G8/tabelaascii.htm

No caso do à (a minúsculo craseado) ali você deve levar em consideração que utilizei um conversor de binário e todo conversor binário online converte para HTML, para os outros utilizei a Tabela ASCII.
O texto escrito em si não tem muita importância, neste caso.
00000000 = NUL, 00000000 é igual a nulo e nulo representa zero e geralmente é utilizado para marcar o final de uma string (um texto).
Veja bem, NUL não é a mesma coisa que NULL, acredito que tu saiba disso.
Por exemplo, em C, numa string terminada com o caractere NUL ('\0') podemos logo após inicializar a variável de ponteiro NULL quando a declaramos.
Um byte nulo geralmente indica o fim da string bem como o fim da cadeia de caracteres que a string representa.
Por exemplo, em relação ao "à" temos um byte adicional em UTF-8 porque a tabela ASCII não tem sinais diacríticos, no caso, a crase. Veja outro exemplo: a string (cadeia de caracteres) "ação" ocupa 6 bytes pois "ç" e "ã" ocupam 2 bytes cada na codificação UTF-8.
A tabela ASCII traz somente um byte por caractere, depois foi criado o UTF-8, além de outros.

O valor 0 para NUL foi escolhido, entre outras coisas, porque nunca lhe foi atribuída uma letra na Tabela ASCII, então, NUL é, grosso modo, nada, nem espaço vazio é, ou seja, mais precisamente, onde tem NUL tem nada magnetizado por isso na conversão para binário aparece um quadrado ou um símbolo estranho (quadrado com um x no meio, etc) que não faz parte da Tabela ASCII porque o conversor dará um valor por aproximação.

No caso dos teus binários acima, é o início de um arquivo ELF onde começamos a, obviamente, deletar tudo que tem anteriormente para depois informar que é um ELF (veja a tabela ASCII - https://www.ime.usp.br/~kellyrb/mac2166_2015/tabela_ascii.html com os caracteres de controle).

Caso você utilizar um conversor binário online e tentar converter 01111111 (DELETE) não aparecerá nada, pois o conversor para HTML não entende.
Para 00000010 (STX) aparecerá um quadrado pelo mesmo motivo.
Lembrando que, antes, o conversor poderá converter para hexadecimal, tem isso também.

Caso for um binário empacotado não somente ofusca o conteúdo do binário original (que pode ou não ser malicioso), mas também pode confundir soluções antivírus (AVs), já que estas frequentemente comparam o hash dos arquivos suspeitos contra bases de hashes de binários conhecidos.

De qualquer maneira, não tente ler em linguagem humana gramatical, pois ali não tem texto nenhum, tenha em mente que você deve interpretar em linguagem de programação.
E você tem de levar em conta se o offset (deslocamento) é 32 ou 64 bits, tem isso também.

Acredito que o binário em questão é 32 bits, pois você postou 26 bytes o que dá metade de 52 bytes que é o tamanho de um cabeçalho ELF de 32 bits (64 bits tem cabeçalho de 64 bytes), mas posso estar errado, pois geralmente no cabeçalho tem em primeiro lugar dois bytes (em sistemas UNIX e Linux) que definem o "número mágico". O número mágico nada mais é do que uma constante com um propósito como, por exemplo, dizer o tipo do conteúdo do arquivo (se é texto, imagens, texto com imagens, etc).

Porém, geralmente os arquivos ELF para sistemas Linux usam o próprio conteúdo do arquivo para determinar o tipo, por isso pode estar faltando o "número mágico" ou você deixou uma parte fora ou não é Linux.
Outra coisa que geralmente tem também no cabeçalho ELF logo após o tal "número mágico" é o número 1 ou 2 em byte. Este byte é definido em 1 ou 2 para significar os formatos de 32 (x86) ou 64 bits, respectivamente, no arquivo ELF, porém, isso não é uma regra rígida e cada programador pode descartar, principalmente se estiver fazendo um arquivo malicioso.

Você pode usar um Disassembler, um Disassembler mantém uma estrutura de dados que descreve cada byte da seção .text, denominados offsets. A cada offset é associado um mapa de bits e um valor inteiro de 8 bytes utilizado durante a etapa dinâmica para armazenar o número de vezes que a instrução/bloco básico que inicia se naquele byte foi executado.

Lembrando que um arquivo ELF pode ser basicamente de 3 tipos: realocável, objeto compartilhado ou executável.

Vamos ao que interessa!

Esta parte final:
00000010 = STX (Start of Text, Começo de Texto)
00000000 = NUL
00111110 = > (Sinal de Maior)
00000000 = NUL
00000001 = SOH (Start of Header, Começo de Cabeçalho)
00000000 = NUL
00000000 = NUL
00000000 = NUL
11100000 = à (a minúsculo craseado)
00010101 = NAK (Negativa de Confirmação)

é início de texto com nul > nul, início de cabeçalho seguido de três bytes nulos, com "à" seguido de negativa de confirmação.
Lembrando que temos ACK (ACKnowledge - Confirmação) e NAK (Negative-AcKnowledge - Negativa de Confirmação), sim, é parecido com o ACK do "aperto de mão" (handshake) em redes. No caso tem somente a negativa NAK que significa um caractere de controle de transmissão transmitido por um receptor como uma resposta negativa ao remetente, ou seja, você espera uma resposta negativa e depois viria um if, else ou algo parecido.

Posso dizer que, em linguagem de programação, o programador ali quis informar que o começo do texto é maior do que o começo do cabeçalho, porém, isso não faz sentido porque geralmente o SOH vem antes de STX.
Aquele "à" não sei informar exatamente o significado, teria de ter mais coisas após para poder interpretar.

Pode ser que tu copiou e colou os "zeros e uns" quebrando uma sequência de caracteres, tem isso também, daí pode resultar que minha interpretação está toda errada.
Como o número de bytes por caractere não é fixo, a decodificação de uma sequência de bytes não é fácil. Como saber onde termina o código de um caractere e começa o código do caractere seguinte?

Aqui tem uma Tabela ASCII mais completa:
https://repositorio.ufu.br/bitstream/123456789/14443/4/SFOLima4DISSPRT.pdf


_________________________________________________________
Always listen the Buck!
Enquanto o cursor estiver pulsando, há vida!


6. Re: O que siginifica esse texto escrito em binário!

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 31/05/2024 - 19:47h

Segue contribuição....
bin='0111111101000101010011000100011000000010000000010000000100001001000000000000000000000000000000000000000000000000000000000000000000000010000000000011111000000000000000010000000000000000000000001110000000010101'
echo "Nº:Dec:Binario: Hex";
for ((n=0;n<${#bin};n+=8)) {
b=${bin:$n:8};
d=$(bc <<< "ibase=2;${b}");
printf "%02d:%03d:%s:%X\n" $((n/8)) $d $b $d
}

Nº:Dec:Binario: Hex
00:127:01111111:7F
01:069:01000101:45
02:076:01001100:4C
03:070:01000110:46
04:002:00000010:2
05:001:00000001:1
06:001:00000001:1
07:009:00001001:9
08:000:00000000:0
09:000:00000000:0
10:000:00000000:0
11:000:00000000:0
12:000:00000000:0
13:000:00000000:0
14:000:00000000:0
15:000:00000000:0
16:002:00000010:2
17:000:00000000:0
18:062:00111110:3E
19:000:00000000:0
20:001:00000001:1
21:000:00000000:0
22:000:00000000:0
23:000:00000000:0
24:224:11100000:E0
25:021:00010101:15

Att.: Marcelo Oliver



7. Re: O que siginifica esse texto escrito em binário!

Apprentice X
ApprenticeX

(usa FreeBSD)

Enviado em 04/06/2024 - 21:27h

SamL escreveu:
O que vejo é que vc ainda precisa aprender ainda sobre números binários e conversão de valores.
Estude conversão de binário para decimal e de decimal para binário, é um algoritmo simples, vc aprende em questão de uma hora.

Obrigado SamL por responder
Me explica como escrevi na pergunta um trecho em binário que eu converti para texto? Se eu não sei nada sobre binário?
Me explica porque eu perguntaria sobre ELF? Se eu não sei nada sobre binário?
Como você acha que EU sem saber nada de binário, li a existência de um cabeçalho ELF escrito em binário? No programa que compilei.

SamL escreveu:
se quiser estudar C, eu posso te ensinar o básico pra se virar sozinho.

Obrigado pela oferta, mas no momento não tenho nenhuma dúvida em C, vou ter mais pra frente assim que eu tiver um tempo, para criar um conversor de texto para voz e vice-versa, pois quero que meu database fale o que está escrito, que eu faça uma pergunta e ele responda em voz, ao invês do casual texto. E óbvio que nesse caso inicialmente a idéia é usar alguma biblioteca pronta até eu aprender a escrever a minha, mas quero escrever o código pra entender.

Acabei de lembrar uma dificuldade em C que estou é de escolher uma biblioteca gráfica para C. Não quero C++
Eu uso a fltk (c++) mas o editor é ruim. Não quero wxwidgets e nem QT
A única que sobrou é a gtk que estou chateado com ela porque eles removem recursos toda hora

A dúvida é: Vale a pena testar a IUP? Ela seria melhor que a gtk? Ou existe alguma outra boa para C?

SamL escreveu: Quanto ao arquivos elf, tem a especificação completa aqui:
https://refspecs.linuxfoundation.org/elf/elf.pdf
Observe que é bom vc aprender inglês pra poder ler as docs como essa já que a maioria é tudo em inglês.

O Link foi ótimo, não tem problema ser em inglês, mas entender ELF vai me ajudar a entender o que significam os espaços em branco e pontuações aparentemente desconexas para mim. Minha idéia é aprender a escrever esse cabeçalho manualmente, para poder também ler do binário todas as informações que ele informa, e isso inclui o cabeçalho ELF

SamL escreveu: E o texto binário ai,
01111111
01000101
01001100
Como disse não tenho nenhuma dúvida sobre binário! Se eu tivesse eu teria perguntado sobre como escrever em binário!
Não tenho nenhuma dúvida sobre o que é um byte! Nem bits!

Minha pergunta não é ler, gravar, converter textos binários! Minha pergunta é baseada em um binário que EU JÁ CONVERTI para texto! Quero entender o significado do TEXTO.
E neste caso: Eu quero ENTENDER o que significa "10 espaços vazios", "14 pontos" , "16 interrogações", "12 TABs" e mais espaços e mais espaços!
Não quero saber o que é 1 espaço, nem o que é TAB, eu também já SEI!

COMPREENDA: Você sabe ler! Mas o que significa AFK?
Ai você me pede para fazer um curso inteiro da lingua inglesa?
se estou perguntando sobre uma palavra INCOMUM da lingua normal inglesa, é porque eu falo inglês,
E não custa responder: AFK é Away for Keyboard, Ausente do Teclado

Só peço que LEIAM a pergunta antes de responderem sem entender o que está escrito!


8. Re: O que siginifica esse texto escrito em binário!

Apprentice X
ApprenticeX

(usa FreeBSD)

Enviado em 04/06/2024 - 21:30h

aguamole escreveu:
Cada binário tem uma especificação de cabeçalho diferente, vai ter que estudar cada um.
Vc vai ter que ler coisa absurda, tem muita abstração em um sistema operacional.

Esse é o meu interesse, além do ELF que outros cabeçalhos eu encontrarei no binário?
Porque até onde eu entendi, mesmo o Linux sendo diferente do BSD o que estará escrito será no mesmo formato.
Me informe o que você sabe sobre isso, agradeço!


9. Re: O que siginifica esse texto escrito em binário!

Apprentice X
ApprenticeX

(usa FreeBSD)

Enviado em 04/06/2024 - 21:52h

Buckminster escreveu:
01111111 = DELETE...

Todas as que você escreveu eu conheço, mas obrigado.
Eu não sabia que 00000000 = NUL
Isso ajudou! Foi meio que uma falta de atenção não lembrar de NUL, mas isso estava na pergunta

Buckminster escreveu:O valor 0 para NUL foi escolhido, entre outras coisas, porque nunca lhe foi atribuída uma letra na Tabela ASCII, então, NUL é, grosso modo, nada, nem espaço vazio é, ou seja, mais precisamente, onde tem NUL tem nada magnetizado por isso na conversão para binário aparece um quadrado ou um símbolo estranho (quadrado com um x no meio, etc) que não faz parte da Tabela ASCII porque o conversor dará um valor por aproximação.

Obrigado

Buckminster escreveu:Caso você utilizar um conversor binário online e tentar converter 01111111 (DELETE) não aparecerá nada

Convertendo em C. E usando o scite ou geany, esses characteres são exibidos, não havendo nem necessidade de escrevê-los na conversão, mas sim, a dificuldade é decifrar os characteres que não constam em ascii e que não são documentados dessa forma!

Buckminster escreveu:E você tem de levar em conta se o offset (deslocamento) é 32 ou 64 bits, tem isso também.

Bem lembrado

Buckminster escreveu:Acredito que o binário em questão é 32 bits, pois você postou 26 bytes o que dá metade de 52 bytes que é o tamanho de um cabeçalho ELF de 32 bits (64 bits tem cabeçalho de 64 bytes), mas posso estar errado, pois geralmente no cabeçalho tem em primeiro lugar dois bytes (em sistemas UNIX e Linux) que definem o "número mágico". O número mágico nada mais é do que uma constante com um propósito como, por exemplo, dizer o tipo do conteúdo do arquivo (se é texto, imagens, texto com imagens, etc).

É de 64 bits, eu postei apenas um pequeno trechinho onde a palavra ELF é reconhecida. Esse binário em questão é um Hello World em C, compilado com clang.
Motivo de eu estar estudando para entender o cabeçalho ELF é separar tudo relacionado a ele do binário, porque assim, posso eu mesmo Lê-lo, saber onde começa e onde termina!

Buckminster escreveu:Você pode usar um Disassembler, um Disassembler mantém uma estrutura de dados que descreve cada byte da seção .text, denominados offsets. A cada offset é associado um mapa de bits e um valor inteiro de 8 bytes utilizado durante a etapa dinâmica para armazenar o número de vezes que a instrução/bloco básico que inicia se naquele byte foi executado.

Vou checar se assembly me ajuda a compreender e separar os bytes para compreender o que tem no arquivo.

Buckminster escreveu:Lembrando que um arquivo ELF pode ser basicamente de 3 tipos: realocável, objeto compartilhado ou executável.

Bom saber

Buckminster escreveu:Vamos ao que interessa!

Esta parte final:
00000010 = STX (Start of Text, Começo de Texto)
00000000 = NUL
00111110 = > (Sinal de Maior)
00000000 = NUL
00000001 = SOH (Start of Header, Começo de Cabeçalho)
00000000 = NUL
00000000 = NUL
00000000 = NUL
11100000 = à (a minúsculo craseado)
00010101 = NAK (Negativa de Confirmação)

é início de texto com nul > nul, início de cabeçalho seguido de três bytes nulos, com "à" seguido de negativa de confirmação.
Lembrando que temos ACK (ACKnowledge - Confirmação) e NAK (Negative-AcKnowledge - Negativa de Confirmação), sim, é parecido com o ACK do "aperto de mão" (handshake) em redes. No caso tem somente a negativa NAK que significa um caractere de controle de transmissão transmitido por um receptor como uma resposta negativa ao remetente, ou seja, você espera uma resposta negativa e depois viria um if, else ou algo parecido.

Posso dizer que, em linguagem de programação, o programador ali quis informar que o começo do texto é maior do que o começo do cabeçalho, porém, isso não faz sentido porque geralmente o SOH vem antes de STX.
Aquele "à" não sei informar exatamente o significado, teria de ter mais coisas após para poder interpretar.

Pode ser que tu copiou e colou os "zeros e uns" quebrando uma sequência de caracteres, tem isso também, daí pode resultar que minha interpretação está toda errada.
Como o número de bytes por caractere não é fixo, a decodificação de uma sequência de bytes não é fácil. Como saber onde termina o código de um caractere e começa o código do caractere seguinte?

Aqui vc me deixou em dúvida, o que fiz foi ler o arquivo character por character, acreditando que ele mantenha uma sequência binária, ou seja, que no meio dessa sequência não exista lixos escritos, até porque não faria sentido ter lixos em um arquivo binário

Buckminster escreveu:Aqui tem uma Tabela ASCII mais completa:
https://repositorio.ufu.br/bitstream/123456789/14443/4/SFOLima4DISSPRT.pdf

Minha Tabela é bem abrangente, mas gostei desse seu pdf por causa da área musical e a tabela com suas frequências, bem didático!



10. Re: O que siginifica esse texto escrito em binário!

Apprentice X
ApprenticeX

(usa FreeBSD)

Enviado em 04/06/2024 - 21:55h

msoliver escreveu:

Segue contribuição....
bin='0111111101000101010011000100011000000010000000010000000100001001000000000000000000000000000000000000000000000000000000000000000000000010000000000011111000000000000000010000000000000000000000001110000000010101'
echo "Nº:Dec:Binario: Hex";
for ((n=0;n<${#bin};n+=8)) {
b=${bin:$n:8};
d=$(bc <<< "ibase=2;${b}");
printf "%02d:%03d:%s:%X\n" $((n/8)) $d $b $d
}

Nº:Dec:Binario: Hex
00:127:01111111:7F
01:069:01000101:45
02:076:01001100:4C
03:070:01000110:46
04:002:00000010:2
05:001:00000001:1
06:001:00000001:1
07:009:00001001:9
08:000:00000000:0
09:000:00000000:0
10:000:00000000:0
11:000:00000000:0
12:000:00000000:0
13:000:00000000:0
14:000:00000000:0
15:000:00000000:0
16:002:00000010:2
17:000:00000000:0
18:062:00111110:3E
19:000:00000000:0
20:001:00000001:1
21:000:00000000:0
22:000:00000000:0
23:000:00000000:0
24:224:11100000:E0
25:021:00010101:15

Att.: Marcelo Oliver

Não entendi sua contribuição! Se não preciso de nenhum conversor de binário para nenhum outro formato, onde isso me ajuda?
Acho que você não compreendeu o sentido da pergunta, não trata-se de converter, trata-se de entender o que siginifica após ser convertido.
E uma das coisas que entendi é ter um cabeçalho ELF com sua própria formatação, mas o binário não é somente um cabeçalho entende?

É como em um texto, onde tem parágrafos, quebras de linha, títulos, margens.
Em linguagem C por exemplo quando temos TAB ou espaços vazios antes da escrita de um texto, sabemos que eles não significam nada, que não passam de identação ou estilo do programador, assim como sabemos que comentários não possuem nenhum valor.

Eu quero conhecer isso, para saber o que tem ou não valor quando eu converto o arquivo, para isolar de forma certa cada seção, cada cabeçalho, e etc...



11. Re: O que siginifica esse texto escrito em binário!

Apprentice X
ApprenticeX

(usa FreeBSD)

Enviado em 04/06/2024 - 21:58h

aguamole escreveu:
Existe outro fórum também que a comunidade é bacana, aparece lá, segue: https://plus.diolinux.com.br/c/linux/7

Obrigado pela indicação, eu até já conhecia, mas nunca usei e nunca tentei usar, sua indicação me fez repensar, tenho dúvidas sobre Linux e Unix, e toda a ajuda é importante!



12. Re: O que siginifica esse texto escrito em binário!

Apprentice X
ApprenticeX

(usa FreeBSD)

Enviado em 04/06/2024 - 22:39h

SamL escreveu: Vou te dar uma sugestão: se quiser estudar C, eu posso te ensinar o básico pra se virar sozinho. Já ensinei programar a algumas pessoas. Isso é uma oferta de ajuda, aceite se quiser, se aceitar, pode responder aqui mesmo, caso não queira, não faz mal.

A minha dúvida sobre biblioteca gráfica é importante pra mim, você conhecendo ou não a IUP, qualquer experiência que você compartilhe sobre biblioteca gráfica que posso usar em C vai ajudar muito
Uma breve história pra vc entender onde estou nisso...

Começei usando wxwidgets (c++), mas me decepcionei muito, muito mesmo com eles, comando simples de execução eles escrevem 2 mil linhas para complicar e com isso torna o resultado inchado.
De verdade me senti muito enganado!
Mas... O Editor deles é excelente! mas só isso...
Se tem algo a dizer a favor deles, sou todo ouvidos, vá que deixei de ver alguma coisa!

Então migrei para fltk (c++) AMEI! Ainda uso ela, mas o editor dela é fraquinho comparado a wxwidgets ou mesmo gtk ou qualquer outro, e está me dando dor de cabeça para mantê-lo otimizado, e nunca fica otimizado, motivo que estou saindo dela.

Estou estudando gtk, mas comecei me decepcionado, o gtk3 CAPOU metade dos recursos que existiam em gtk2, e agora o gtk4 CAPOU mais outra metade, ou seja, o gtk4 tem 15% dos recursos que existiam em gtk2. Não confio neles, não gosto de empresas com essa filosofia. MAS eles tem um ótimo Editor! E claro funciona em C. Por isso é a única opção que vejo hoje!

QT nunca gostei por causa da política deles, não quero aprender uma linguagem de programação nova! Não vejo QT como uma biblioteca gráfica, me parece mais como uma linguagem de programação!

IUP sinto vontade de testar, mas queria experiência de quem já usou!

Perde-se muito tempo migrando source para outra plataforma e se decepcionar com ela é ainda pior!
Logo qualquer coisa que você possa compartilhar na sua experiência de programação ajuda, ou seja, o que você usa para aplicações gráficas com grid e coisas assim.

Porque quero C? Ainda não confio em C++!
Quero dominar por completo C e Assembly. Só depois disso, usarei C++.
Achei muito ilusório as facilidades de C++ que não me parecem tão bem implementadas como dizem, até porque isso tem a ver com o ponto de vista de cada pessoa! Por isso prefiro EU implementar o que é necessário.
Não estou dizendo que encontrei BUGS ou problemas em C++, pelo contrário, mas por não conheçê-lo a fundo, e isso leva tempo, por exemplo estudar o código da string ou de um vector, não é uma tarefa simples ou rápida.
Logo prefiro usar o Trio "ponteiro+char+malloc" em C.

A única coisa positiva que dei para C++ foi me permitir escrever código C, e olha que ele ainda dá umas restrições, mas... é melhor que não poder!
Mas sei que é uma tendência, tão logo eu domine assembly e c, usar o c++.

Porque gostei de fltk? Porque ela é bem básica! Não existe um grid nela! É você que tem que fazer o seu, AMEI, dá trabalho, mas o grid fica do jeito que você imaginar!

De qualquer eu não entendo de nada disso, apenas da experiência que passei, qualquer contribuição AJUDA, até porque posso estar vendo da forma errada!

Igual está acontecendo no Linux!
AMO o Slackware, mas dá trabalho resolver dependências, nem experimentei todas as ferramentas de terceiros para isso.
Tentei o Debian, mas sempre me aborreço com ele! Ele funcionou bem dessa vez que testei, mas me aborreci do mesmo jeito.
Fui pro Arch Linux, me aborreci com as atualizações, mas é um excelente Linux
Fui pro FreeBSD AMEI, mas ele me chateou com coisas que deveriam funcionar! Eu coloquei ele em um Altar e ele não é tudo isso! E algumas limitações geraram mais aborrecimentos, Acreditei que ele não seria tão bagunçado quanto o Linux, achava que ele fosse superior no quesito organização, e ele não é! Tem os mesmos problemas de desorganização, nunca imaginei que o FreeBSD teria BUGS básicos que são ignorados a muitos anos.

LOGO, tive que ficar com os 2, Arch Linux e FreeBSD, Claro, falta o Famoso Gentoo... Porque esse deve ser bom né...
Mas penso mesmo em testar o Linux do Zero... Assim que eu tiver mais tempo!

OBS: Todo meu relato é experiência pessoal para minha forma de usar, o que é diferente para cada pessoa!
Eu gosto muito de minimalismo, motivo que estou saindo do xfce para algo bem mais básico com apenas 1 background.
Gosto do C, porque ele é pequeno, posso ver ele inteiro, então sei o que tenho... Não gosto de um prédio inteiro de livros que não consigo controlar, vou preferir uma pequena mesa com 10 livros que estou vendo!

Gostei do Arch e do FreeBSD porque nem fonts existiam para o xfce usar, é o básico do básico e olhe lá! Assim se eu uso apenas 2 fonts, serão apenas elas instaladas. E por isso eu gostava do slackware também!
Mas poxa instalar o konqueror apenas usando pacman, é confortável! Melhor que estudar a bagunçada documentação do KDE para achar por milagre uma dependência que depende de outras dependências que dependem de outras e mais outras infinitamente....



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts