[過去ログ]
逆コンパイラCodeReverseを作る (376レス)
逆コンパイラCodeReverseを作る http://mevius.5ch.net/test/read.cgi/tech/1380002328/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
297: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/05/06(水) 22:49:06.45 ID:ROM3ZfOK コンパイラーなら型情報と構文に基づいてレジスター割り付けを行って、アセンブリを出力する。 逆コンパイラーはアセンブリから、オペランドと仮想アドレスに仮想的な値と 型を割り付け、それらを定数・変数・実引数・仮引数に抽象化し、式と構文を構築し、ソースを出力する。 http://mevius.5ch.net/test/read.cgi/tech/1380002328/297
298: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/05/06(水) 23:19:53.32 ID:ROM3ZfOK callの引数は関数アドレスであるから、それがAPI関数であれば、実引数や戻り値に型情報を付加できる。 代入においては同一の値になるオペランドが現れる。このとき、型も同一になる可能性が高い。 このようにオペランドや仮想アドレスやレジスターに型情報を再帰的に付加していく。 http://mevius.5ch.net/test/read.cgi/tech/1380002328/298
299: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/05/06(水) 23:32:41.79 ID:ROM3ZfOK 仮想アドレス空間の状態は、プログラムの進行に従って遷移していく。 状態が変わる様子を再現するには、仮想マシンを作って動かしてみるのが、一番合理的だ。 http://mevius.5ch.net/test/read.cgi/tech/1380002328/299
300: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2015/05/06(水) 23:42:33.96 ID:ROM3ZfOK 仮想マシンを動かすなら、アセンブリか中間言語のどちらのレイヤーで動かすべきか? 中間言語で動かすならば、アセンブリの情報をほとんどすべて中間言語に移行しなければならない。 http://mevius.5ch.net/test/read.cgi/tech/1380002328/300
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s