Javaのアセンブラと逆アセンブラをCommon Lispで作りました。 一部対応してない命令がありますが、大体動作します。 アセンブリはもちろんS式で記述します。読み込むときはreadするだけ。 オペランドのない命令はアトム、オペランド付きの命令はリストとなって... 続きを読む
perl, binaryCPAN にはなさそげだったので書いてみました。http://svn.coderepos.org/share/lang/perl/MSWord-ExtractContent/trunk/名前空間がどうよって気がするけど Word 文書に該当する名前空間が見当たらず,こんな感じにしてしまいました。まぁ coderepos... 続きを読む
素晴らしい。 2009-07-04 - 当面C#と.NETな記録問題の説明はここまでにして、コードの紹介です。Hacker's delight のコードより4〜5倍速く、そして、イミフ加減が半端じゃない!これ一つで 64bit 値以下のすべての値に対応できます。 でも、実際にどれくらい威... 続きを読む
初出: C MAGAZINE 1996年8月号 Updated: 1996-09-21 [←1つ前] [→1つ後] [↑質問一覧] [↑記事一覧] [ホームページ] 今回は、よく知られているけどちょっと分かりにくいアルゴリズム、あるいは、 今までの連載で出てきたトリッキーなコードについて、どのよう... 続きを読む
一番右端の立っているビット位置(RightMostBit)を求めるコードで速いのないかなーと探していたら、ものっっっすごいコードに出会ってしまったのでご紹介。2ch のビット演算スレで 32bit 値のコードに出会って衝撃を受けて、その後 64bit 値版のヒントを見つけた... 続きを読む
Presentation The ERESI Reverse Engineering Software Interface is a multi-architecture binary analysis framework based on a common domain-specific language for reverse engineering. It provides extensive OS-wide support for program analysis, in... 続きを読む
Unix系OSでは、ファイルの最初の行に「#!」で始まる行を入れると、続けて書かれたコマンドにより以降を実行します。 最近のLinuxでは、同様のことをユーザーが設定できるbinfmt_miscというしくみ(カーネルモジュール)があるということを、「東京エリアDebian... 続きを読む
javascript, x86, assemblerJQuery っぽい文法で、ブックマークレットとして簡単に遊べるアセンブラが欲しいと思って勢いで書いてみた。とりあえず以下のサンプルが動くくらいにしか実装してない。 var buf = new Buffer(); with (new Assembler(buf)) { call($... 続きを読む
XMLHttpRequest makes sending HTTP requests very easy. You simply create an instance of the object, open a URL, and send the request. The HTTP status of the result, as well as the result's contents, are available in the request object when t... 続きを読む
ワームアラート:Big Yellow ■ 原版: Worm Alert: Big Yellow http://research.eeye.com/html/alerts/AL20061215.html ■ 原版リリース日: 2006年12月15日 (太平洋標準時) ■ 翻訳日: 2006年12月18日 (日本標準時) ■ 重要度: 高 ■ 対象システム: Symantec... 続きを読む
404 Blog Not Found:デバッグより重要なもの2009-04-02 - きしだのはてなあたりの議論は正直よくわかんないけど、以下、駄文。データフォーマットとしてバイナリを推す派 vs. テキスト派の対立ってのは、別に最近始まったことじゃないわけで。この問題について... 続きを読む
すこし前に、straceコマンドもどきを50行くらいで書いてみたことがあるので、それを貼ってみまーす。いきなりコード。あ、C99です。 // strace_modoki.c: Linux/x86専用です。x86_64カーネルでは-m32でコンパイルしても動きません。 #include #include #include... 続きを読む
今日からはじめての FreeBSD プログラミング、ということで、まず最初に execve() を使って Hello, world! するプログラムを書きました。 8048080: 68 2d 65 00 00 push $0x652d 8048085: 89 e6 mov %esp,%esi 8048087: 68 6c 00 00 00 push $0x6c 804808c: 68 ... 続きを読む
Description: The NASMX Project (formerly NASM32) is a collection of macros, includes and examples, which are meant to help Netwide Assembly Language (NASM) programmers develop software in a fraction of the time it normally takes. This package... 続きを読む
Unix assembly language programmingPreface by G. Adam Stanislav Whiz Kid Technomagic Assembly language programing under Unix is highly undocumented. It is generally assumed that no one would ever want to use it because various Unix systems run... 続きを読む
レベル: 中級Ram Narayan (rnaraya2@in.ibm.com), Software Engineer, IBM 2007年 10月 17日この記事では、Linux® で最も一般的な 2 つのアセンブラーである GAS (GNU Assembler) と NASM (Netwide Assembler) の間での、構文や意味体系の重要な違いについて説... 続きを読む
■[Program][Bin] 75B ELF @ FreeBSD 09:56 昨日は b2con でした。発表者の皆さんおつかれさまでした。とても楽しかったです。 dankogaiさん が FreeBSD で ELF ゴルフは制約が多いと教えてくださったのでやってみました。確かに制約は厳しい感じでした。 75Byt... 続きを読む
syscall って組込関数でシステムコールはできますけど、libc やその他ライブラリの関数を呼びたい、ってこともありますよね。i386 かつ dlopen な環境なら、こんな風に書けます。 sub ccall { my $r = '1111'; my $s = "\x68" . pack("L", $_[5]) . "\x68" . pa... 続きを読む
ToDo:sapka (3/13 金)ll, r (3/22 日)JAL (7/31 金)書類(JAL、住民票)topcoderlangscan.d世界樹四国fix月資源 火金燃 土不燃ttどうでもいい 348 続きを読む