CodeReverseは、片山博文MZが開発している、Windows用の逆アセンブラ兼ダンプツールです。
最終的には「リバーシブルな」逆コンパイラを目指しています。
CodeReverse公式サイト
http://katahiromz.web.fc2.com/codereverse/
GitHubレポジトリはこちら
https://github.com/katahiromz/CodeReverse
逆コンパイラCodeReverseを作る
■ このスレッドは過去ログ倉庫に格納されています
1片山博文MZコスモ ◆T6xkBnTXz7B0
2013/09/24(火) 14:58:48.34215デフォルトの名無しさん
2014/07/10(木) 00:11:01.04ID:M4bomIPQ catcher
>>214
ニートですが研究費とかいうものはどうやったら貰えるのですか?
ニートですが研究費とかいうものはどうやったら貰えるのですか?
217デフォルトの名無しさん
2014/07/20(日) 18:12:16.52ID:5tCNN5Wf >>216
「クラウドファンディング」で検索
「クラウドファンディング」で検索
218片山博文MZ悪魔崇拝 ◆T6xkBnTXz7B0
2014/07/27(日) 15:17:33.75ID:IA9V+eIN catcher
219デフォルトの名無しさん
2014/08/02(土) 14:48:35.52ID:9pUD/EET catcher
220デフォルトの名無しさん
2014/08/13(水) 18:13:36.72ID:JOE/IwkU catcher
221デフォルトの名無しさん
2014/08/17(日) 23:10:05.64ID:QEFSNrh+ お花畑
222デフォルトの名無しさん
2014/08/25(月) 18:24:31.95ID:Mg2fQQvs catcher
223デフォルトの名無しさん
2014/09/06(土) 22:58:01.07ID:yTL+zk7h catcher
224片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/09/15(月) 21:33:44.73ID:lVCjgFoQ バイナリをLLVMにするって可能なのか? うーん
225片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/09/16(火) 17:47:27.97ID:uCY6omK1226デフォルトの名無しさん
2014/09/28(日) 23:27:24.48ID:uLb79luw しばらくCalc-Hの営業
時間ないな
時間ないな
227片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/10/08(水) 13:20:30.61ID:9EnqerIp catcher
228片山博文MZ次期CEO ◆T6xkBnTXz7B0
2014/10/21(火) 20:17:15.61ID:tyo0JEbH GitHubで星が1つ付いた。頑張らないといけないのだが、時間がない。
2014/10/31(金) 17:22:03.59ID:a2LU3Ea+
catcher
230デフォルトの名無しさん
2014/11/09(日) 20:47:16.65ID:XU91kGr5 時間ねーから
231デフォルトの名無しさん
2014/11/21(金) 00:49:03.57ID:6AGAgrET catcher
232デフォルトの名無しさん
2014/11/26(水) 23:20:20.01ID:4JVdbB+E こんな嘘ばかりのスレ取り消せ。
クソボケが 、アホクソボケカスが。
根性無しのカスの集まりが。
どうせ何もできんのやろが?
カスはカスらしく黙っとらんかい!クソボケ!
何なんじゃアホが。この根性無しのクズが。
クソボケクズ。クズの集まりじゃねえか。
ポンコツのクソドアホが。ボンクラだろがてめえら。
はっきり言っといてやるよ。 てめえらなんか、何一つ怖くないわ、
このクズ以下のポンコツボンクラが。
クソボケが 、アホクソボケカスが。
根性無しのカスの集まりが。
どうせ何もできんのやろが?
カスはカスらしく黙っとらんかい!クソボケ!
何なんじゃアホが。この根性無しのクズが。
クソボケクズ。クズの集まりじゃねえか。
ポンコツのクソドアホが。ボンクラだろがてめえら。
はっきり言っといてやるよ。 てめえらなんか、何一つ怖くないわ、
このクズ以下のポンコツボンクラが。
233デフォルトの名無しさん
2014/12/06(土) 14:51:26.56ID:+BigHZY2 catcher
234デフォルトの名無しさん
2014/12/21(日) 19:05:02.38ID:K4obGNjE catcher
235デフォルトの名無しさん
2014/12/29(月) 14:04:28.20ID:k/a0XR+r catcher
236片山博文MZ ◆T6xkBnTXz7B0
2014/12/30(火) 12:29:11.58ID:II8lCuST データフローの表現の問題が未解決。アイデアが見つかるまで時間が掛かりそうです。
237片山博文MZ ◆T6xkBnTXz7B0
2014/12/30(火) 16:43:47.63ID:II8lCuST dag (directed acyclic graph): 閉路のない有向グラフ。「グラフ理論」を参照。
基本ブロック (basic block): 途中で停止したり、分岐したりしない、連続した文の並び。
流れグラフ: 基本ブロックを制御の流れに従って矢印で結んだもの。
「基本ブロックのdag表現」とは、次のようなdag:
1.葉のラベルは一意な識別子。
2.内部節点のラベルは演算子。
3.さらに節点に識別子の並びのラベルを付けることができる。
基本ブロック (basic block): 途中で停止したり、分岐したりしない、連続した文の並び。
流れグラフ: 基本ブロックを制御の流れに従って矢印で結んだもの。
「基本ブロックのdag表現」とは、次のようなdag:
1.葉のラベルは一意な識別子。
2.内部節点のラベルは演算子。
3.さらに節点に識別子の並びのラベルを付けることができる。
238片山博文MZ ◆T6xkBnTXz7B0
2014/12/30(火) 18:02:49.41ID:II8lCuST この「内部節点」は、「節点内部」の誤訳だろうな
239デフォルトの名無しさん
2014/12/31(水) 00:57:28.36ID:BPGgSSnK 内部節点で正しいと思う
http://imd.naist.jp/~miyazaki/doshisha/data-algo/ad-3.pdf
・内部節点(internal node) 子を持つ節
・外部節点(external node) 葉(leaf) 子を持たない節
http://imd.naist.jp/~miyazaki/doshisha/data-algo/ad-3.pdf
・内部節点(internal node) 子を持つ節
・外部節点(external node) 葉(leaf) 子を持たない節
241デフォルトの名無しさん
2014/12/31(水) 12:23:17.69ID:UInHV6yl 『節点』に『内部』があると思っているのか?日本語からやり直せよチョソ
242片山博文MZ ◆T6xkBnTXz7B0
2014/12/31(水) 23:51:17.31ID:FQwLik9b243片山博文MZ ◆T6xkBnTXz7B0
2015/01/20(火) 14:29:08.20ID:xhQ1sKyb244片山博文MZ ◆T6xkBnTXz7B0
2015/01/31(土) 20:50:33.99ID:NOJeJgIt さあ、やるんだ
246片山博文MZ ◆T6xkBnTXz7B0
2015/02/01(日) 23:14:25.39ID:b1Drc9W3 DLLのリンク情報はどうやって抽出すればいい?
247片山博文MZ ◆T6xkBnTXz7B0
2015/02/06(金) 13:17:21.55ID:WUwVT1fs 完璧なCパーサーを作るのは大変だな。。。
https://github.com/katahiromz/DoWonders
https://github.com/katahiromz/DoWonders
248片山博文MZ ◆T6xkBnTXz7B0
2015/02/09(月) 20:31:33.92ID:002yDz5I 早くバグ取らないと怒鳴られるぞ。。。
249片山博文MZ ◆T6xkBnTXz7B0
2015/02/14(土) 12:15:44.30ID:gwH6zzLC250片山博文MZ ◆T6xkBnTXz7B0
2015/02/15(日) 13:18:57.14ID:YOxjOULg251デフォルトの名無しさん
2015/02/15(日) 13:30:33.98ID:VI4OFusP おうがんばれや
252デフォルトの名無しさん
2015/02/15(日) 17:20:09.52ID:BzeQi2NL へえ。結構やるじゃん。
253片山博文MZ ◆T6xkBnTXz7B0
2015/02/20(金) 04:31:21.76ID:hFZMHbko 今、リファクタリングとDBのサニタイズしてるとこ。いくつかサイズの間違いを見つけた。
構造体のサイズを正確に得るには、アライメントを考慮せねば。
構造体のサイズを正確に得るには、アライメントを考慮せねば。
254片山博文MZ ◆T6xkBnTXz7B0
2015/03/01(日) 19:08:40.80ID:b/Z6wEyz A「では、進捗報告を」
B「アライメントの扱いに案外手こずり、まだDBのサニタイズが終わっていません」
A「時間が掛かりすぎだ!いつになったらできるんだ!(机を叩く)」
B「申し訳ございません。」
A「アライメントの規則性を分析して早くサニタイズしなさい」
B「御意」
B「アライメントの扱いに案外手こずり、まだDBのサニタイズが終わっていません」
A「時間が掛かりすぎだ!いつになったらできるんだ!(机を叩く)」
B「申し訳ございません。」
A「アライメントの規則性を分析して早くサニタイズしなさい」
B「御意」
255片山博文MZ ◆T6xkBnTXz7B0
2015/03/04(水) 12:32:04.66ID:wAAd8cV7256片山博文MZ ◆T6xkBnTXz7B0
2015/03/05(木) 21:51:27.28ID:rUbEobY5 型情報のload/saveを可能にしなきゃ。
定数の"typed value"計算を可能にしなきゃ。
定数の"typed value"計算を可能にしなきゃ。
257片山博文MZ ◆T6xkBnTXz7B0
2015/03/06(金) 16:43:14.93ID:Utx2vhNJ 今、typed valueの実装をやってるけど、型によって場合分けが
必要だから、「場合分けの化け物」になっちゃうんだよな。
関数型ならもっとスマートに書けそうだが。。。
必要だから、「場合分けの化け物」になっちゃうんだよな。
関数型ならもっとスマートに書けそうだが。。。
258デフォルトの名無しさん
2015/03/14(土) 20:28:31.86ID:V/kJuq3g 2ちゃんねるおわた
NEXT行きましょ
NEXT
NEXT行きましょ
NEXT
259片山博文MZ ◆T6xkBnTXz7B0
2015/03/15(日) 13:48:43.55ID:wj0oyall マクロから一部の定数を抜き出すのを実装してみた。
定数全部を抽出するには、
マクロの展開とパースとtyped valueの実装が必要みたいだ。
https://github.com/katahiromz/DoWonders
定数全部を抽出するには、
マクロの展開とパースとtyped valueの実装が必要みたいだ。
https://github.com/katahiromz/DoWonders
260片山博文MZ ◆T6xkBnTXz7B0
2015/03/19(木) 13:04:51.09ID:JLKczW+H261片山博文MZ ◆T6xkBnTXz7B0
2015/03/19(木) 15:29:38.48ID:rGfQi3lS バグ発見。ケアレスミスだった。
262片山博文MZ ◆T6xkBnTXz7B0
2015/03/22(日) 14:04:56.12ID:0xruUqhc263片山博文MZ ◆T6xkBnTXz7B0
2015/03/23(月) 17:04:35.45ID:iTA2cPA1 A「では、進捗報告を」
B「後はマクロ展開を実装すれば、次のステージに進めます。」
A「それはできるのか?」
B「今、QZというハッカーにマクロ展開実装を依頼していますが、
返答がありません。何とか自力でできないか模索している処です」
A「来週の日曜日までに急いでやれ。頼んだぞ」
B「後はマクロ展開を実装すれば、次のステージに進めます。」
A「それはできるのか?」
B「今、QZというハッカーにマクロ展開実装を依頼していますが、
返答がありません。何とか自力でできないか模索している処です」
A「来週の日曜日までに急いでやれ。頼んだぞ」
264デフォルトの名無しさん
2015/03/24(火) 01:57:06.17ID:CghrDXfy まあ頑張れ、せいぜい利用させてもらうぜオッサン
265デフォルトの名無しさん
2015/03/25(水) 08:14:43.78ID:UQSzKjlW 俺の興味がどこにあるかお前はよく知っているはずだが?
あの証明は飛躍があるから埋めておけ参考書もそうならその参考書は捨てたほうがいい
あの証明は飛躍があるから埋めておけ参考書もそうならその参考書は捨てたほうがいい
267デフォルトの名無しさん
2015/03/25(水) 18:23:14.55ID:0ab+jORs 敗北宣言乙www
269片山博文MZ ◆T6xkBnTXz7B0
2015/03/25(水) 20:18:57.15ID:0It7vtDM 宿題スレを荒らしてたのは俺じゃねーぜ。勘違いするな、Qzさん
270デフォルトの名無しさん
2015/03/25(水) 21:57:58.65ID:0ab+jORs 反応を待たずにレスをして何を焦っているのかな?www
271片山博文MZ ◆T6xkBnTXz7B0
2015/03/25(水) 22:43:10.00ID:0It7vtDM あの宿題はQzが居なくてもできるよ
272デフォルトの名無しさん
2015/03/25(水) 23:56:31.13ID:0ab+jORs ちゃんと"さん"をつけろよ若僧
273デフォルトの名無しさん
2015/03/26(木) 00:14:21.84ID:by79hXzC before: 宿題スレを荒らしてたのは俺じゃねーぜ。勘違いするな、Qzさん
v
after:あの宿題はQzが居なくてもできるよ
ウリのすぐバレる嘘ニダwww
v
after:あの宿題はQzが居なくてもできるよ
ウリのすぐバレる嘘ニダwww
274片山博文MZ ◆T6xkBnTXz7B0
2015/03/26(木) 01:50:45.61ID:H3hSXcrb 少なくともお下品な発言はしていない。
275デフォルトの名無しさん
2015/03/26(木) 02:31:26.49ID:KfdRsObn Qzさんだって下品な発言はしないし、大体お前のようにすぐバレる嘘をつくほどマヌケじゃない。
276片山博文MZ ◆T6xkBnTXz7B0
2015/03/29(日) 17:36:15.54ID:v4NwZmHf277片山博文MZ ◆T6xkBnTXz7B0
2015/03/29(日) 17:39:38.81ID:v4NwZmHf マクロ定数が正しく読み込めなければ、Win32 APIとは言えないので、
何とかがんばっているところ。
何とかがんばっているところ。
278片山博文MZ ◆T6xkBnTXz7B0
2015/04/01(水) 13:41:40.89ID:bTV2IHQs 2015年4月1日
Wonders API公開。
(動画) こんにちは、Wonders APIです
http://youtu.be/MSs4vto5u18
(Movie) Hello, this is Wonders API.
https://youtu.be/TvQZwOMPc8s
公式サイト
http://katahiromz.esy.es/wonders/
GitHubレポジトリ
https://github.com/katahiromz/DoWonders
Wonders API公開。
(動画) こんにちは、Wonders APIです
http://youtu.be/MSs4vto5u18
(Movie) Hello, this is Wonders API.
https://youtu.be/TvQZwOMPc8s
公式サイト
http://katahiromz.esy.es/wonders/
GitHubレポジトリ
https://github.com/katahiromz/DoWonders
279片山博文MZ ◆T6xkBnTXz7B0
2015/04/01(水) 13:55:05.94ID:bTV2IHQs いざ、第二ステージへ進め
280デフォルトの名無しさん
2015/04/03(金) 23:48:07.06ID:Nu5+KNg9 がんばれー
このスレから出てこないでね^^
このスレから出てこないでね^^
281デフォルトの名無しさん
2015/04/04(土) 00:02:02.48ID:vxW5Ds1X 47氏は崇拝されていたが、片山は軽蔑される
人格上の問題なのではないか?
人格上の問題なのではないか?
282デフォルトの名無しさん
2015/04/04(土) 18:35:11.56ID:AbppvLIl 片山ウザい氏ね
283デフォルトの名無しさん
2015/04/08(水) 00:10:56.21ID:yyUMrqSU こいつがあちことで出没するとスレが過疎るからやめてほしい
284片山博文MZ ◆T6xkBnTXz7B0
2015/04/08(水) 22:14:13.74ID:GMSIP3gO 約束のdeadlineは五月一日。それまでにWonders API Webを完成しないといけない。
285片山博文MZ ◆T6xkBnTXz7B0
2015/04/11(土) 21:01:51.44ID:ArDgKFW5 今、複合値とデータのバイナリーダンプのサポートに取り組
んでいるところ。明日、リリースの予定。
んでいるところ。明日、リリースの予定。
286片山博文MZ ◆T6xkBnTXz7B0
2015/04/12(日) 16:04:08.09ID:W8Ttx0kU287片山博文MZ ◆T6xkBnTXz7B0
2015/04/12(日) 17:44:44.25ID:Q9tFpytA288片山博文MZ ◆T6xkBnTXz7B0
2015/04/19(日) 19:24:52.19ID:Kws6M3Sz 株価が下がってる。動かない方がいいかな。
289片山博文MZ ◆T6xkBnTXz7B0
2015/05/02(土) 19:19:00.58ID:gAnCVUja Wonders APIをCodeReverseに取り込んで、CodeReverseのCパース箇所を破棄だ。
これでCodeReverseで型情報が使える。
GWにネットカフェが空いてないから、更新が遅くなるかも。
これでCodeReverseで型情報が使える。
GWにネットカフェが空いてないから、更新が遅くなるかも。
290片山博文MZ ◆T6xkBnTXz7B0
2015/05/03(日) 10:32:26.72ID:EPJ3sWKW よし、x86アセンブリを読みまくって勉強するぜ!
291片山博文MZ ◆T6xkBnTXz7B0
2015/05/05(火) 13:34:39.52ID:p1RbtT4Y CPU貸そうか?
292片山博文MZ ◆T6xkBnTXz7B0
2015/05/05(火) 17:34:29.60ID:p1RbtT4Y CPUレジスターや仮想的なアドレス空間の任意の抽象的な場所にアクセスするための全射なアドレスを文字列で表現する。
expressed address、略してexpr_addr。
expr_addrを解決すると未知の値、シンボル、もしくは具体的な値が得られる。
また、expr_addrから型の集合への写像を作ることができる。
expressed address、略してexpr_addr。
expr_addrを解決すると未知の値、シンボル、もしくは具体的な値が得られる。
また、expr_addrから型の集合への写像を作ることができる。
293片山博文MZ ◆T6xkBnTXz7B0
2015/05/05(火) 17:47:11.75ID:p1RbtT4Y 値の集合とシンボルの集合と型の集合が存在する。
値やシンボルはその格納場所(storage)によって類別できる。
格納場所は、スタック、ヒープ、レジスター、実行可能コード領域、その他のデータ領域などが挙げられる。
expr_addrから値やシンボルへの写像が存在する。
expr_addrから格納場所への写像が存在する。
値やシンボルはその格納場所(storage)によって類別できる。
格納場所は、スタック、ヒープ、レジスター、実行可能コード領域、その他のデータ領域などが挙げられる。
expr_addrから値やシンボルへの写像が存在する。
expr_addrから格納場所への写像が存在する。
294片山博文MZ ◆T6xkBnTXz7B0
2015/05/05(火) 18:06:31.59ID:p1RbtT4Y では、expr_addrの具体的な定義を決めよう。
(ea.1) expr_addrが数値ならばexpr_addrはexpr_addrが表す値の仮想アドレスを指し示す。
(ea.2) expr_addrがレジスターの名前ならばexpr_addrはそのレジスターの値が表す仮想アドレスを指す。
(ea.3) expr_addrが__cr.xxx[yy]といった文字列ならば、__cr.の後のxxxはストレージの名前であり、expr_addrはストレージxxxの(yy+1)バイト目を指し示す。
ここに、yyはexpr_addrである。
(ea.4) expr_addrに演算子+,-,*が含まれていれば、普通にexpr_addr上で足し算、引き算、掛け算を行う。
(ea.1) expr_addrが数値ならばexpr_addrはexpr_addrが表す値の仮想アドレスを指し示す。
(ea.2) expr_addrがレジスターの名前ならばexpr_addrはそのレジスターの値が表す仮想アドレスを指す。
(ea.3) expr_addrが__cr.xxx[yy]といった文字列ならば、__cr.の後のxxxはストレージの名前であり、expr_addrはストレージxxxの(yy+1)バイト目を指し示す。
ここに、yyはexpr_addrである。
(ea.4) expr_addrに演算子+,-,*が含まれていれば、普通にexpr_addr上で足し算、引き算、掛け算を行う。
295片山博文MZ ◆T6xkBnTXz7B0
2015/05/05(火) 18:49:16.52ID:p1RbtT4Y x86/x64のスタックは逆向きに成長するから、__cr.stackは特別扱いしなければならない。
296片山博文MZ ◆T6xkBnTXz7B0
2015/05/05(火) 19:59:48.40ID:p1RbtT4Y297片山博文MZ ◆T6xkBnTXz7B0
2015/05/06(水) 22:49:06.45ID:ROM3ZfOK コンパイラーなら型情報と構文に基づいてレジスター割り付けを行って、アセンブリを出力する。
逆コンパイラーはアセンブリから、オペランドと仮想アドレスに仮想的な値と
型を割り付け、それらを定数・変数・実引数・仮引数に抽象化し、式と構文を構築し、ソースを出力する。
逆コンパイラーはアセンブリから、オペランドと仮想アドレスに仮想的な値と
型を割り付け、それらを定数・変数・実引数・仮引数に抽象化し、式と構文を構築し、ソースを出力する。
298片山博文MZ ◆T6xkBnTXz7B0
2015/05/06(水) 23:19:53.32ID:ROM3ZfOK callの引数は関数アドレスであるから、それがAPI関数であれば、実引数や戻り値に型情報を付加できる。
代入においては同一の値になるオペランドが現れる。このとき、型も同一になる可能性が高い。
このようにオペランドや仮想アドレスやレジスターに型情報を再帰的に付加していく。
代入においては同一の値になるオペランドが現れる。このとき、型も同一になる可能性が高い。
このようにオペランドや仮想アドレスやレジスターに型情報を再帰的に付加していく。
299片山博文MZ ◆T6xkBnTXz7B0
2015/05/06(水) 23:32:41.79ID:ROM3ZfOK 仮想アドレス空間の状態は、プログラムの進行に従って遷移していく。
状態が変わる様子を再現するには、仮想マシンを作って動かしてみるのが、一番合理的だ。
状態が変わる様子を再現するには、仮想マシンを作って動かしてみるのが、一番合理的だ。
300片山博文MZ ◆T6xkBnTXz7B0
2015/05/06(水) 23:42:33.96ID:ROM3ZfOK 仮想マシンを動かすなら、アセンブリか中間言語のどちらのレイヤーで動かすべきか?
中間言語で動かすならば、アセンブリの情報をほとんどすべて中間言語に移行しなければならない。
中間言語で動かすならば、アセンブリの情報をほとんどすべて中間言語に移行しなければならない。
301片山博文MZ ◆T6xkBnTXz7B0
2015/05/07(木) 14:46:37.77ID:Eo5kGFlR GW明けて、ひさしぶりに更新。
CodeReverse
https://github.com/katahiromz/CodeReverse
Wonders API
http://katahiromz.esy.es/wonders/
CodeReverse
https://github.com/katahiromz/CodeReverse
Wonders API
http://katahiromz.esy.es/wonders/
302片山博文MZ ◆T6xkBnTXz7B0
2015/05/08(金) 19:46:46.08ID://zzhYF7 両方のレイヤーでやれってか? なら、2種類の仮想マシンを作らにゃあかんべえ。んだんだ。
303片山博文MZ ◆T6xkBnTXz7B0
2015/05/09(土) 02:41:25.84ID:IBcmzD7P 要件定義はもっと数学的に。。。
304片山博文MZ ◆T6xkBnTXz7B0
2015/05/09(土) 19:04:28.04ID:IBcmzD7P 要件定義をよく考えると、中間言語パーサーは不必要と判断した。
305片山博文MZ ◆T6xkBnTXz7B0
2015/05/10(日) 15:22:46.73ID:DYHSUNsH いや、中間言語パーサーは必要。パーサーがなければ、アセンブリのでっかいアーキテクチャを
ハードコーディングしなきゃいけなくなる。恐らく中間言語はアトリビュートベースになる。
ハードコーディングしなきゃいけなくなる。恐らく中間言語はアトリビュートベースになる。
306片山博文MZ ◆T6xkBnTXz7B0
2015/05/10(日) 15:52:17.96ID:DYHSUNsH 中間言語では、新しい値ができるたびに明示的にそのインスタンスを宣言する。
インスタンスは型情報、入出力に関する情報、値やアドレスを表す式などの属性を持つ。
インスタンスは型情報、入出力に関する情報、値やアドレスを表す式などの属性を持つ。
307片山博文MZ ◆T6xkBnTXz7B0
2015/05/10(日) 23:19:17.50ID:DYHSUNsH アーキテクチャを中間言語のデータで表現しないといけない。
中間言語の設計も完成していないのに。。。!
中間言語の設計も完成していないのに。。。!
308片山博文MZ社外取補 ◆T6xkBnTXz7B0
2015/05/15(金) 19:04:30.75ID:hBLf1mma たぶん、値を宣言してそれらに変数を割り当ててくという考え方は間違ってない。
これでうまく行きそうだ。
これでうまく行きそうだ。
309片山博文MZ ◆T6xkBnTXz7B0
2015/05/17(日) 16:50:06.36ID:9xJgx9ER https://github.com/katahiromz/CodeReverse
ファイルarch_x32.datを追加した。
このファイルにx86アセンブリから中間コードへの変換方法を記述する。
不完全。
ファイルarch_x32.datを追加した。
このファイルにx86アセンブリから中間コードへの変換方法を記述する。
不完全。
310片山博文MZ ◆T6xkBnTXz7B0
2015/05/18(月) 23:19:00.85ID:GE/vKBW3 我に力と自由時間を与えたまえ!(画面がパパっと2回点滅)
311片山博文MZ ◆T6xkBnTXz7B0
2015/05/21(木) 17:40:24.92ID:Dn/bDwTc きれいなデータ作るの大変だ。。。
312片山博文MZ ◆T6xkBnTXz7B0
2015/05/24(日) 10:54:19.49ID:DJktPktd313片山博文MZ ◆T6xkBnTXz7B0
2015/05/24(日) 11:08:32.59ID:DJktPktd トップにarch_x86.dat/arch_x64.datという二つのファイルを用意したから、
これを元にして、アセンブリを中間言語に逐次翻訳する。
翻訳方法は、基本的にパターンマッチを基本とする。
これを元にして、アセンブリを中間言語に逐次翻訳する。
翻訳方法は、基本的にパターンマッチを基本とする。
314片山博文MZ ◆T6xkBnTXz7B0
2015/05/24(日) 17:02:17.64ID:tHPLTcxB 翻訳の戦略について。
まず、前述の翻訳辞書データを読み込み、パースする。
次に全体を走査して、邪魔者を消す。nopやmov ax,axやlea eax,[eax]の
ような、人間にとって無意味な命令を全部取り除く。
さらに全体を走査して、技巧的な命令を「標準語」に直す。
さらにさらに逐次的にパターンマッチしたものを次々と翻訳していく。
この戦略がうまく行けば、アセンブリはすべて中間言語に翻訳される。
まず、前述の翻訳辞書データを読み込み、パースする。
次に全体を走査して、邪魔者を消す。nopやmov ax,axやlea eax,[eax]の
ような、人間にとって無意味な命令を全部取り除く。
さらに全体を走査して、技巧的な命令を「標準語」に直す。
さらにさらに逐次的にパターンマッチしたものを次々と翻訳していく。
この戦略がうまく行けば、アセンブリはすべて中間言語に翻訳される。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 前駐中国大使・垂秀夫『高市首相が台湾有事答弁を国会でしてしまったのは高市首相のなかに戦略的思考が無いから。安倍晋三を見習え』 [718678614]
- クズ「勉強頑張らなかった奴は一生DQNと一緒に肉体労働しろ」☚勉強頑張れるのも環境と巡り合わせなんだが? [783475554]
- 金曜ロードショー😭
- 朝だよー🥁🥺ドンドンドンドン
- ( ・᷄ὢ・᷅ )ケツ
- モブサイコ「私がJAグループに何か利益誘導するということは全くありません」 [402859164]
