Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

ARMv7 lifting issues

Aperta Adatta ai principianti
#8,617 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
84/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
cpp

Direzione di ricerca

Inizia da arch/armv7/il.cpp:4470 e analizza come l’istruzione sxtb di ARMv7 costruisce i suoi shift LLIL. Riproduci il lift di aes_primitive_probe all’indirizzo 0x10778 dal kat-armv7.elf fornito, quindi verifica che l’LLIL generato estenda correttamente il segno del byte selezionato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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

Lingua principale
C++
Stelle
1.3k
Fork
297
Merge medio
3g 11h
PR unite (30g)
17

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Vector35/binaryninja-api

Tutte le issue di Vector35/binaryninja-api

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.