Hexagon lifting issues
Les mainteneurs répondent en général sous 3 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 72/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- rust
- Domaine
- reverse-engineering
Piste de recherche
Commencez dans arch/hexagon/src/lift.rs à la ligne 123 et comparez le lifting de endloop0 avec le désassemblage fourni et le LLIL actuel. Vérifiez le comportement de la boucle matérielle à une itération par rapport à l’esquisse LLIL attendue, puis vérifiez le même traitement pour endloop1. Le travail est terminé lorsque les deux cas poursuivent l’exécution après une exécution du corps et préservent la boucle pour des compteurs supérieurs à un.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Binary files and instruction addresses (ZIP available for upload separately):
kat-hexagon.elf: 0x10e84; SHA-256c92042e5504ec1eb0d3bf576e723b612cf35267adc963210b42d15aaba95e49a
1: Hexagon endloop0 / endloop1
Binary instruction: kat-hexagon.elf / adler32 at 0x10e84; bytes ff83000023c681e1.
Disassembly: { immext(#65472); r3 -= mpyi(r1,#65521); } endloop0.
Current lifted LLIL (relevant lines):
if (lc0 != 0) then loop else exit
lc0 = lc0 - 1
jump(sa0)
Expected LLIL (semantic sketch):
if (lc0 > 1) { lc0 = lc0 - 1; jump(sa0) } else { fallthrough }
A one-iteration hardware loop must leave the loop after its first body execution.
- Langage dominant
- C++
- Étoiles
- 1.3k
- Forks
- 297
- Merge moyen
- 4 j 15 h
- PR mergées (30 j)
- 22
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Vector35/binaryninja-api
-
Component: Python API
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Vector35/binaryninja-api#8649 ·
Les mainteneurs répondent en général sous 3 jours
-
ARMv7 lifting issuesOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Vector35/binaryninja-api#8617 · 1 commentaire ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Vector35/binaryninja-api#8589 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
Vector35/binaryninja-api#8540 ·
Les mainteneurs répondent en général sous 3 jours
-
normalize time logs from WARPOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Vector35/binaryninja-api#8446 ·
Les mainteneurs répondent en général sous 3 jours
Toutes les issues de Vector35/binaryninja-api
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
eclipse-score/inc_someip_gateway#356 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
HarperFast/rocksdb-js#945 ·
Les mainteneurs répondent en général sous 1 jour
-
A failed COMMIT leaves the DuckLake transaction registered, leaking the whole DuckDB instanceOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour