Leandro de Jesus Ribeiro 0 Posted July 15, 2019 Share Posted July 15, 2019 Olá. Como faço para ler ou transformar hexadecimal em Linguagem C? PIC16F685 Quote Link to post Share on other sites
Mente Binária Leandro Fróes 17 Posted July 17, 2019 Mente Binária Share Posted July 17, 2019 Opa, você diz interpretar um valor em hexa utilzando a linguagem C? Ou literalmente pegar um arquivo binário e tentar transformar em C? Quote Link to post Share on other sites
Apoiador Bit bsantos 1 Posted January 2 Apoiador Bit Share Posted January 2 Leandro. Se eu nao estiver entendendo errado, o PIC16f685 eh um microcontrolador (microprocessador com perifericos embarcados) e esta querendo portar seu codigo escrito em asm (que eu usei muito para programar os 16f84) para codigos em C. Eh isso? Quote Link to post Share on other sites
Administradores Fernando Mercês 0 Posted January 8 Administradores Share Posted January 8 Acho que é quase isso @bsantos. Acho que ele tem um programa compilado para PIC, que é um binário e uma galera se refere como "o hexadecimal" por não ser mais legível, etc (dá pra abrir num editor hexa, claro) e aí ele quer descompilar para C de volta. Eu nunca fiz, mas deve dar sim. Talvez com o IDA ou Ghidra? Acho que vale tentar. Abraços! Quote Link to post Share on other sites
Apoiador Bit bsantos 1 Posted January 12 Apoiador Bit Share Posted January 12 Então @Fernando Mercês nesse caso, tem que se ver e espero que os @Leandro de Jesus Ribeiro não se decepcione caso não consiga fazer a eng reversa mesmo lendo do hex. Isso porque o MpLab (compilador ASM ou C para o microchip) tem opção de encriptação para a proteção de propriedade intelectual do firmware embutido. Quote Link to post Share on other sites
Administradores Fernando Mercês 0 Posted January 12 Administradores Share Posted January 12 Aaaaah, isso muda tudo. Valeu pela info! Quote Link to post Share on other sites
anderson_leite 14 Posted February 21 Share Posted February 21 O post é antigo mas ainda posso contribuir com algo, passei por algo parecido em um Arduino, apenas com o hex ainda é possivel transformar o hex em texto para bytes puros. Esse formato hex na real é um formato criado pela intel, Intel HEX, e é possivel reconstruir ele sabendo como a placa realiza seu formato, para isso é preciso dar uma pesquisada nesse PIC, um exemplo da wikipedia: :10010000214601360121470136007EFE09D2190140 Start code Byte count Address Record type Data Checksum Sabendo disso, a gente pode pegar os dados 214601360121470136007EFE09D21901 e transformar em bytes mesmos, daí fica facil abrir em qualquer tool para disassembly ou algo do tipo. Sobre aquele meu problema do arduino, eu acabei criando uma tool extremamente simples para fazer essa conversão de hex para arquivo cru https://github.com/AandersonL/hex2raw, é um projeto antigo e de certa forma abandonado, mas la eu fiz um esquema com uma YAML para expandir para outras placas, então caso o @Leandro de Jesus Ribeiro se interesse é possivel portar esse PIC e fazer alguns testes. 😄 Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.