page0060
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* x86バイナリ → OSECPUバイトコード
-(by [[K]], 2013.08.05)
** (0) はじめに
-OSECPUはアプリがライブラリが十分にそろっているとは言えな...
-ところでOSECPUアプリを増やす手っ取り早い方法として、x86...
-そしてこの手の開発をかなり得意としているのは実は[[K]]自...
** (1) メモリアクセス
-まずx86では、ポインタレジスタと整数レジスタの区別はなく...
-となれば、これらをすべて解消できる手法は以下の通りだと思...
--(1) Win32やPOSIXではセグメンテーションを使ってないので...
--(2) EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDIの8レジスタは...
--(3) メモリアクセスはすべて8ビットとして、32ビットアクセ...
---もはやこれ以外にエンディアンの影響を受けない確実な方法...
---メモリアクセスが4倍遅くなるけど、もうそれも気にしない。
---この方法なら型が分からないという問題も起きない。
--(4) 全アドレス区間は P01 にすべて押し込む。で、EBXでの...
** (2) フラグ類
-キャリーフラグとかゼロフラグとかそういうのはどうするかと...
** (3) パーシャルレジスタ
-たとえばALに代入すると、EAXやAXの下位ビットも変わらなけ...
** (4) 自己書き換え
-自己書き換えをするようなコードは捨てる。これをまじめにや...
** (5) ポインタによるジャンプ
-定数ジャンプはいい。それは2パスにすれば何とかなる。しか...
-よし、間接ジャンプ命令を使っているところがあったら、give...
-関数呼び出しも、スタックいじってリターンアドレスを変更し...
** (6) ここまで書いて思ったこと
-本当にOSECPUはよくできている。フラグ方式なんて、CPUが違...
-それらが一切ないOSECPUは本当にさまざまなCPUにすんなりと...
-jitcのAPIも本当によくできている。いつどこを書き換えられ...
-OSECPUはポインタレジスタの分離とラベル命令のおかげで、間...
** (7) セキュリティはどうなったか
-まずメモリアクセスに関するセキュリティは、NULLくらいなら...
--P01をmallocしたときにP01--;を実行すればいい。そうすれば...
--x86のアプリは結局みんなP01を使ってメモリアクセスをする...
-間接ジャンプはないので、結果的に危険な分岐はなくなったか...
-無限ループ問題はOSECPU化によって自動で守られる。
-double-freeとかuse-after-freeなどの問題は、基本的にP01の...
* こめんと欄
#comment
終了行:
* x86バイナリ → OSECPUバイトコード
-(by [[K]], 2013.08.05)
** (0) はじめに
-OSECPUはアプリがライブラリが十分にそろっているとは言えな...
-ところでOSECPUアプリを増やす手っ取り早い方法として、x86...
-そしてこの手の開発をかなり得意としているのは実は[[K]]自...
** (1) メモリアクセス
-まずx86では、ポインタレジスタと整数レジスタの区別はなく...
-となれば、これらをすべて解消できる手法は以下の通りだと思...
--(1) Win32やPOSIXではセグメンテーションを使ってないので...
--(2) EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDIの8レジスタは...
--(3) メモリアクセスはすべて8ビットとして、32ビットアクセ...
---もはやこれ以外にエンディアンの影響を受けない確実な方法...
---メモリアクセスが4倍遅くなるけど、もうそれも気にしない。
---この方法なら型が分からないという問題も起きない。
--(4) 全アドレス区間は P01 にすべて押し込む。で、EBXでの...
** (2) フラグ類
-キャリーフラグとかゼロフラグとかそういうのはどうするかと...
** (3) パーシャルレジスタ
-たとえばALに代入すると、EAXやAXの下位ビットも変わらなけ...
** (4) 自己書き換え
-自己書き換えをするようなコードは捨てる。これをまじめにや...
** (5) ポインタによるジャンプ
-定数ジャンプはいい。それは2パスにすれば何とかなる。しか...
-よし、間接ジャンプ命令を使っているところがあったら、give...
-関数呼び出しも、スタックいじってリターンアドレスを変更し...
** (6) ここまで書いて思ったこと
-本当にOSECPUはよくできている。フラグ方式なんて、CPUが違...
-それらが一切ないOSECPUは本当にさまざまなCPUにすんなりと...
-jitcのAPIも本当によくできている。いつどこを書き換えられ...
-OSECPUはポインタレジスタの分離とラベル命令のおかげで、間...
** (7) セキュリティはどうなったか
-まずメモリアクセスに関するセキュリティは、NULLくらいなら...
--P01をmallocしたときにP01--;を実行すればいい。そうすれば...
--x86のアプリは結局みんなP01を使ってメモリアクセスをする...
-間接ジャンプはないので、結果的に危険な分岐はなくなったか...
-無限ループ問題はOSECPU化によって自動で守られる。
-double-freeとかuse-after-freeなどの問題は、基本的にP01の...
* こめんと欄
#comment
ページ名: