Pythonで書かれたWebフレームワークの「bottle」と言うものを見つけたので勉強がてら誰得なwebサービスを作ってみた訳ですね。といってもUIとか作るのは苦手なのでGetでリクエストを投げてJsonを返すという単純なものです(´・ω・`)
どんなことをするかというと、アセンブラ命令(syntaxはAT&T)を機械語にもしくは機械語をディスアセンブルして返してます。
リクエストはこんな形式です。
/asm/opcode?operand1=operand&operand2=operand
- ディスアセンブル
/disasm?binary=binarycode
こんなリクエストを投げると
http://www.fork-exec.net:10080/asm/movq?operand1=%25rdx&operand2=0x8(%25rbx,%25rax,8)
こういうレスポンスが返ってきます。
ほかには、
http://www.fork-exec.net:10080/asm/pushq?operand1=%240x100
もしくは、
http://www.fork-exec.net:10080/asm/incq?operand1=%25rcx
ディスアセンブルの場合
http://www.fork-exec.net:10080/disasm?binary=48 89 54 c3 08
複数行になる場合
http://www.fork-exec.net:10080/disasm?binary=48 01 2d c2 ff d6 00 48 01 2d b3 ff c0 00
とまあ、誰得なwebサービスをなんとなく作ってみました。