Add new...Clone CompilerExecutor From ThisOpt RemarksStack UsagePreprocessorASTLLVM IROpt PipelineDeviceRust MIRRust HIRRust Macro ExpansionGHC CoreGHC STGGHC CmmGCC Tree/RTLGNAT Debug TreeGNAT Debug Expanded CodeControl Flow Graph
id:n7shi:20110625でご紹介した「フィーリングで読むアセンブラ入門」で使われているクロスコンパイラをWindows用にビルドしたので配布します。MSYS用です。インストール方法はid:n7shi:20110513を参照してください。 SkyDrive:7shi/公開/MSYS/cross 詳細 基本構成は binutils-2.21.1, gcc-4.6.1 です。サポートされなくなったアーキテクチャは古いgccを使用しています。libgccがコンパイルできなかったものについては含めていません。 arm16-elf, h8300h-elf, mips16-elf, powerpc64-elf の4つは単独のコンパイラを持っていないため、他のコンパイラにオプションを付けて使用します(備考欄参照)。 アーキテクチャ binutils gcc libgcc 備考 alpha-elf
A one-instruction set computer (OISC), sometimes referred to as an ultimate reduced instruction set computer (URISC), is an abstract machine that uses only one instruction – obviating the need for a machine language opcode.[1][2][3] With a judicious choice for the single instruction and given arbitrarily many resources, an OISC is capable of being a universal computer in the same manner as traditi
Take a look at the Official GitHub for more 2011/01: yay twitter 2010/10: added a mirror on github 2010/09: check some Metasm plugins we wrote on ESEC lab's website 2010/05: added DynLdr ruby dynamic loader 2010/04: basic Dalvik support 2010/02: Win32 native Gui 2009/09: generic debugger interface (windows/linux/gdbserver) 2009/08: support of x64 added (aka x86_64, Ia32e, Ia32 64-bit) 2009/07: C d
GCCでインラインアセンブリを使用 する方法と留意点等 for x86 (1999〜2006年10回改訂、2006年1月22日注意を追加、最終更新日2006年5月27日) 文: A. SAITOH <s-akira at users.sourceforge.net> home ※システム名、CPU名は一般に開発会社の登録商標です。 以下の情報はあまり過度に信用しないで下さい。より正確な情報は、asやgccのinfoから得て下さい。 個々のプロセッサ命令の解説はここでは述べません。そのような技術資料は、インテルやAMDのウェブ サイトのdeveloper向けのページからpdf形式で入手できます。 以下の文及びプログラム例の運用結果に関して、筆者は一切責任を負いません。 参考文献 [0] D. Stancevic, K. Scheibler, J. Leto, Linux Assembly
○GCC x86インラインアセンブラ asm ("命令 source,dest"); ■グローバル変数 --------------------------------------------------------- そのまま使えます #include <stdio.h> int i; int j; main(){ i=10; asm ("movl i,%eax"); asm ("add $10,%eax"); //数値は先頭に$マークを付ける asm ("movl %eax,j"); printf("%d %d\n",i,j); } ▼上のプログラムの書き方を変えたもの #include <stdio.h> int i; int j; main(){ i=10; asm ( "movl i,%eax \n\t" "add $10,%eax \n\t" "movl %eax,j"
Welcome to Nettica!Join the Cloud! We are a cloud based VPN service built on WireGuard™ technology providing fast, secure connections to local and cloud resources. Make your own cloud! Mix and match between local and multi-cloud environments managed with the Nettica Agent. Command and control your network from anywhere! OAuth2 and role-based access control provide a secure environment to manage yo
ある命令をバイト表現でハンドアセンブルしたいとき、Intelのオペコード表の見方を理解していないと非常に苦労する。しかし、Intelのマニュアルはとっつきづらい*1ところがあり、理解するのに時間がかかるので、ヒントとしてまとめていく。ちなみに、小数点系やx64については扱わない。 用意するもの Intel命令セット リファレンス OllyDbg(ハンドアセンブルして確認するため。実際は何でもよい) OllyDbgで適当なバイナリを開いて、命令行を右クリックして表示されるメニューでバイナリを編集できる。 [Assemble...]はアセンブラで記述することができる [Edit] > [Binary edit...]はバイトコードで記述することができる オペコードの表記 バイナリアンが最も好む命令はINT 3、NOP、JMPであることは疑いようがないので、ここではJMPを例にとる。JMPのオペ
CP/M80のシミュレータは数多くあるようです。また、MSXのシミュレータもよい 物があるようですが、筆者は一つも見ていません。 筆者も大昔に8080のシミュレータを書いたのですが、それにCP/M80の シミュレーションを加えたのがこのCP/Mシミュレータです。 このCP/MシミュレータのCP/MとのコンパチビリティーはMSX-DOS並です。 このシミュレータでは、CP/M のファイル操作をUNIXファイル操作に変換してい ます。 CP/Mの古いプログラムは、ディスクI/Oを直接に色々といじる可能性があ るのですが、MSX-DOS程度にはコンパチビリティーを確保しています。 「Z80に対応しないのか?」という疑問に対しては、「Z80の命令をつけると、 8080の美しさが失われるので、Z80にはしない」のです。 このCP/M80シミュレータを ftp://www.takeoka.org/pu
Description: Assembly language is probably the most important thing one needs to master if he desires to enter the world of code exploitation, virus writing and reverse engineering. In this multi-part video series I will try to provide a simple primer to Assembly language which will help you get started. These videos are in no way meant to be exhaustive but rather will only act as a guide on how t
各逆アセンブラライブラリの詳細については、各ライブラリのサイトを参照。ここではどのライブラリを使うかだが、ここでは上記の1つであるHacker Disassembler Engine(HDE)を使うことにした。理由は最終更新日が最近(2009年3月)であるのと、軽量である点だ。他のライブラリは結構高機能で逆アセンブルした機械語をアセンブラのニーモニックのテキスト形式に変換できたりするが、今回はx86命令のRET命令を検出できればよいので、命令長やオプコードなど最小限の情報だけを取得できるHDEにした(ちなみに、上記BeaEngineのサイトにLength Disassemblerというものもあるようだ・・)。 次に、新しいクラスを設計するが、その前にx86命令の大まかな命令フォーマットを知らないと設計できないので、x86命令の命令フォーマットを少し。x86命令の命令フォーマットは次のように
In the execution environment, functions are frequently set up with a "stack frame" to allow access to both function parameters, and automatic local function variables. The idea behind a stack frame is that each subroutine can act independently of its location on the stack, and each subroutine can act as if it is the top of the stack. When a function is called, a new stack frame is created at the c
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く