Optimization of struct variable assignation

オープン
#3,744 コメント 1 件 リアクション 1 件 担当者 1 名 GitHub で見る

@rssor がすでに取り組んでいます。

2023年2月6日 から。

評価

この issue はまだ評価されていません。

説明

Component: Core Effort: Medium Impact: Low

rdi is pointer to structure, rsi is zero.

Disassembly:

163e0af9  mov     qword [rdi+0x768], rsi  {0x0}
163e0b00  lea     rbx, [rdi+0x1d0]
163e0b07  mov     dword [rbx], esi  {0x0}

LLIL:

36 @ 163e0af9  [rdi + 0x768 {_struct_a::field_768}].q = rsi
37 @ 163e0b00  rbx = rdi + 0x1d0
38 @ 163e0b07  [rbx {_struct_a::field_1d0}].d = esi

HLIL:

163e0af9  struct_a->field_768 = 0
163e0b00  int32_t* rbx_1 = &struct_a->field_1d0
163e0c00  (rbx_1 - 0x1d0)->field_1d0 = 0

It would be nice if BN just uses struct_a->field_1d0 = 0. If necessary, I can share the BNDB via PM in slack.

主要言語
C++
スター
1.3k
フォーク
298
平均マージ
5日 5時間
マージ済み PR(30日)
19

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Vector35/binaryninja-api のほかの issue

Vector35/binaryninja-api の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。