トップページ > プログラム > 2015年07月22日 > ALVAbODL

書き込み順位&時間帯一覧

9 位/205 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000100000000001100104



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
アセンブラ初心者スレッド

書き込みレス一覧

アセンブラ初心者スレッド
812 :デフォルトの名無しさん[sage]:2015/07/22(水) 07:01:44.05 ID:ALVAbODL
CRISCに関する質問だったんだから、上級者なら、内部命令のすべてが
外部からは見えないことを指摘すればすむ話だった
JITのような話が飛び出してくるのは自分中心でしか考えていないからだよ
だから雑談なら雑談として適当なところで切り上げることもできない
アセンブラ初心者スレッド
832 :デフォルトの名無しさん[sage]:2015/07/22(水) 18:34:32.58 ID:ALVAbODL
>>827
スタックはアドレスを取れるんだから、スタックに領域を確保して
>>725みたいにしてモジュールのアドレスを問い合わせて、その後ろに
処理継続先のオフセットとモジュールのアドレスを足してjmpするコードを生成する
ジャンプ先でスタックを戻す
モジュール名のリテラルはmovの連続で構成する
DEPは後から搭載された機能だからDEPが使えるというのは環境依存だよな

PICという制約を加えてもよければ、ローダによる再配置を禁止しても構わなくなるぞ
先に環境を指定して議論しなければだめだろ
アセンブラ初心者スレッド
835 :デフォルトの名無しさん[sage]:2015/07/22(水) 19:18:08.19 ID:ALVAbODL
>>832はJITとやり方がそっくりだろ
JITはアプリ側でゴリゴリやる方式だし
アセンブラ初心者スレッド
841 :デフォルトの名無しさん[sage]:2015/07/22(水) 22:22:05.85 ID:ALVAbODL
>>833
>>832のモジュールアドレスを
register void *dop=dlopen;
register void *dsym=dlsym
h=(*dop)(NULL);
cont=(*dsym)(h,"label_cont");
jmp(cont);
こんな感じに変更すればいいんじゃないのか
スタートアップルーチンでサンクを呼び出す部分までをこのやり方で置き換えるんだよ

>>834
後から勝手に制約を追加できるんなら、自分だったら動的再配置を禁止するぞ
そんなこと許したらcomファイル大勝利になるだろ
だから先に環境を示さないとダメなんだよ

本末転倒なんていったらCRISCの話でこんなことやってる方がどうかしてるだろ
団子がどうしてもcall使ってEIP取らないとできないことがあるって言うから
あえてcall封印してたんじゃなかったのかよ


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。