Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

ARMv7 lifting issues

Aberta Para iniciantes
#8,617 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 3 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
84/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
cpp

Direção de pesquisa

Comece em arch/armv7/il.cpp:4470 e inspecione como a instrução sxtb de ARMv7 constrói seus shifts de LLIL. Reproduza o lift de aes_primitive_probe em 0x10778 a partir do kat-armv7.elf fornecido e, em seguida, verifique se o LLIL gerado faz a extensão de sinal correta do byte selecionado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Binary files and instruction addresses (ZIP available for upload separately):

  • kat-armv7.elf: 0x10778; SHA-256 1e0ae05c9cfbe8ef77850f74ed5320724c96f0874a6bbbc63b4038f4c343f16a

1: ARMv7 sxtb sign extension

Binary instruction: kat-armv7.elf / aes_primitive_probe at 0x10778; bytes 7540afe6.

Disassembly: sxtb r4, r5, ror #0.

Current lifted LLIL (relevant lines):

r4 = r5 << 0xfffffffc s>> 0x18

Expected LLIL (semantic sketch):

r4 = (r5 << 0x18) s>> 0x18

The source uses the register size in bytes for the left shift, so the sign-extension pair does not place bit 7 into the sign position.

Code: arch/armv7/il.cpp:4470

Linguagem predominante
C++
Estrelas
1.3k
Forks
297
Merge médio
4d 15h
PRs com merge (30d)
22

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de Vector35/binaryninja-api

Todas as issues de Vector35/binaryninja-api

Issues semelhantes

Mais issues de C++

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.