最近、あるプログラマと話していて気づいたのだけど、彼は16進数の2桁と1桁との掛け算(FDh×5とか)が出来ない。やり方自体を知らないのだ。彼はWindowsの電卓を立ち上げて計算していた。 そのときは「プログラマでなくともこんなこと知ってて当然だろ!」と思ったのだけど、その後、10人ぐらいのプログラマに出来るかどうか聞いてみたが誰も出来ない。 結局、「普通は出来ない」のだと私は理解した。しかし16進数の掛け算はそんなに難しくない。私が子供のころには、まわりにFF(1×1=1に始まって、F×F=E1まで)を丸暗記している人がいっぱいいた。情報教育の一環として中学か高校で教えても計算の仕方ぐらい教えればいいのになぁと思っている。 前置きが長くなったが、以下にやり方などを書いておく。 ■ 16進数に馴染もう 16進数では、A = 10 , B = 11 , C = 12 , D = 13 ,
Gaurav Khanna has released its project called CSLMail, an SMTP/POP3 email component for .NET Framework and .NET Compact Framework platforms. CSLMail 2.0 is a free and feature rich .NET based email component, which supports the SMTP and POP3 protocols, completing the need to design a complete email client. Its comes with complete documentation and features include: SMTP Complete SM
要素が挿入された瞬間を取得する 今までは出来ないと思っていたのですが、今日いろいろ試していて出来る方法が分かりました。 ですので、ちょっと紹介したいと思います。今のところアイデアなので、実用性は?です。 方法 HTML に以下の style 要素を挿入することで実現することができます。 <style type="text/css"> * { display: expression(function() { if (!this.__mark) { this.__mark = true; alert('inserted node: ' + this.tagName); } return ''; }.apply(this)); } </style> 実際に例を見てみましょう http://amachang.art-code.org/ieexpression/000.html <!DOCTYPE
更新履歴 DNS拡張EDNS0の解析 Linuxカーネルをハッキングしてみよう Windowsシステムプログラミング Part 3 64ビット環境でのリバースエンジニアリング Windowsシステムプログラミング Part2 Windowsシステムプログラミング Part1 Contents インフォメーション 「TCP/IPの教科書」サポートページ 「アセンブリ言語の教科書」サポートページ 「ハッカー・プログラミング大全 攻撃編」サポートページ ブログ(はてな) BBS メール このサイトについて テキスト 暗号 詳解 RSA暗号化アルゴリズム 詳解 DES暗号化アルゴリズム crypt() アルゴリズム解析 MD5 メッセージダイジェストアルゴリズム crypt() アルゴリズム解析 (MD5バージョン) TCP/IP IP TCP UDP Header Format(IPv4) Ch
はじめに このテキストは、Windowsシステムに関するプログラミングを中心に記述している。カーネルランドのデバッグ、SYSENTER、SYSEXITなどを中心に解説している。 SYSENTER 「Windowsシステムプログラミング Part2」にて、「SYSENTERはユーザーランドとカーネルランドを繋ぐ命令であり、これをフックできる」ことを述べた。そして、SYSENTER実行時に以下の処理が走ることを書いた。 // sysenter実行時の処理内容 1. CSレジスタにSYSENTER_CS_MSR(MSR-174H)の値をロード 2. EIPレジスタにSYSENTER_EIP_MSR(MSR-176H)の値をロード 3. SSレジスタにSYSENTER_CS_MSRの値に8を加算した値をロード 4. ESPレジスタにSYSENTER_ESP_MSR(MSR-175H)の値をロード
はじめに このテキストは、Windowsシステムに関するプログラミングを中心に記述している。WinDbgの導入、カーネルランドのデバッグ、SYSENTERの解析などを中心に解説している。 WinDbgの導入 カーネルランドで動作するプログラムをデバッグするには、カーネルモードデバッガが必要となる。Windows環境でのカーネルモードデバッガは、SoftICEとWinDbgが有名だが、SoftICEは販売停止となったため、このテキストでは、WinDbgを使うことにする。まず、実行用と解析用で、マシンを2台と、それらを繋ぐシリアルクロスケーブルを用意する。 マシンを2台用意する(実行用と解析用) シリアルクロスケーブルで2台のマシンを繋ぐ(COM1使用) 実行用マシンに適当なOSをインストール(自分はWinXPSP2使用) 実行用マシンにインストールされているOSの「C:\boot.ini」を
はじめに このテキストは、Windowsシステムに関するプログラミングを中心に記述している。他プロセスへのコード注入、APIフック、サービス制御マネージャ、カーネルレベルプログラミング、任意のコードの隠蔽などを中心に解説している。 任意のコードを別のプロセスへ注入する方法 http://www.codeproject.com/threads/winspy.asp 上記のサイトには「任意のコードを別のプロセスへ注入する方法」として、3つ の手法が紹介されている。 SetWindowsHookExを用いてグローバルフックし他プロセスへDLLをマッピング CreateRemoteThreadとLoadLibraryを使い他プロセスへDLLをマッピング CreateRemoteThreadとWriteProcessMemoryを使い他プロセスへコードを注入 1と2に関しては、任意のコードをDLLと
はじめに 私は以前、任意のプログラムを他プロセスへ注入する「DLLインジェクション」のテクニックを紹介しました。このテクニックについての詳細は「常駐プログラム隠蔽テクニック」を参照してください。 さて、この「DLLインジェクション」は、任意のプログラムを現在実行中の他プロセスへ注入し、他プロセスの一部としてこちら側が用意したプログラムを実行させるテクニックでした。これはとても面白く、任意のプロセスの情報を取得するための手法としてはSetWindowsHookExと同じくらい強力であり、かつ、実行したいプロセスの隠蔽という目的においても利用できるものでした。しかし、これはあくまでも実行中のプロセスへ注入したわけであり、EXEファイル自体を書き換えたわけではありません。よって、例えば、そのプロセスが何かしらの理由で強制終了し、再度起動された場合、もう一度、任意のプログラムの注入処理をほどこさな
はじめに Windowsアプリケーションは、通常APIを利用することによって実現されています。たとえ.NETやMFCなどを利用して作成されたプログラムであったとしても、内部的にはすべてWindowsAPIが呼び出され処理されているというのは周知の事実です。プログラムがWindows上で動作している限り、何かしらのカタチでAPIが使われていることは確かなのです。では、今回はそのAPIをフックすることを考えてみます。「Wizard Bible vol.15」の「リバースエンジニアリング」にて、私はAPIフックについて少しだけ触れましたが、今回はそのAPIフックについてのさらに深い話題となります。あらかじめ必要な知識は、Windowsプログラミングに多少の知識があることと、特にDLL関連に詳しいことです。あと「Wizard Bible vol.10」の「常駐プログラム隠蔽テクニック」も読んでおい
How to inject code into another processes address space, and then execute it in the context of this process. Download entire package - 157.31 KB Download WinSpy - 20 KB (demo application) Contents Introduction Windows Hooks The CreateRemoteThread & LoadLibrary Technique Interprocess Communications The CreateRemoteThread & WriteProcessMemory Technique How to Subclass a Remote Control With this Tech
C/C++ セキュアコーディング ハーフデイキャンプ 2009夏 part3 は受付けを終了いたしました。 お申込みありがとうございました。 脆弱性のない安全なプログラムを開発するために ~ソフトウエアの脆弱性が作りこまれる根本的な原因を学び、問題を回避する~ JPCERTコーディネーションセンターは、C/C++ 言語で脆弱性を含まない安全なプログラムをコーディングする具体的なテクニックとノウハウを学んでいただくためのセミナーを下記のとおり開催いたします。 本セミナーは 2009年1月29日から 3月26日に開催した「C/C++ セキュアコーディング ハーフデイキャンプ」を再講演するものです。 従来のプログラミング教育は、基本的なアルゴリズムをどのようにコーディングするかが主なものでした。 しかし C/C++ 言語による開発では、基本的なプログラミングだけでなくセキュリティへの十分な配慮が
{ End Bracket } Engineers Who Write Richard Ward See Richard Ward's "Behind the Code" interview at channel9.msdn.com/Shows/Behind_The_Code. I was somewhat amused when the MSDN Magazine staff asked me to write a column. There was an initial trepidation, as if engineers were not expected to write and raising such a request was inviting some sort of surly response. This happens more than it probably
すべて Microsoft 製品 Microsoft 365 Office Windows Surface Xbox セール サポート ソフトウェア Windows アプリ OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox Live Gold Xbox とゲーム PC ゲーム Windows ゲーム 映画とテレビ番組 法人向け Microsoft Azure Microsoft Dynamics 365 Microsoft 365 Microsoft Industry データ プラットフォーム Power Platform 法人向けを購入する Developer & IT .NET Visual Studio
はじめに 「新はてなブックマーク」になったということで、とっても便利になったのですが、ブックマーク一覧ページ*1が若干 JavaScript に時間が掛かっているみたいです。 というわけで 調査してみたいと思います。調査して、改善できそうなところは後で纏めて「はてなアイデア」にでも登録しようと思います。 この日記は調査しながら、過程を書いていくつもりです。 準備 まずは、人のサイトの JavaScript を書き換えて試してみるための環境を作ります。 作業用ディレクトリを作る とりあえず、ホームに HatenaJS というディレクトリを作ります。 $ mkdir HatenaJS $ cd HatenaJS CocProxy をダウンロードしてくる 以下から CocProxy というツールをダウンロードしてきます。 http://coderepos.org/share/wiki/CocPr
人の画面をじっと見る あるいは人の後ろにずっと立つ。 人の画面を指で触る せめて爪側、できればペン等で…! 作業中に話しかけて、そのまま長話 質問や要点をまとめておいてから→いまいい?って確認するとか。 急ぎでなければ、たとえ隣の席でもメールかメッセンジャー的なもので…! 自分じゃなくても答えられる質問 その技術者が「誰でも知ってて当然だろ」と思っているようなことを質問しちゃうのはだめ。 逆に技術者が「これは俺の得意分野」って思っていることを質問すると機嫌が良くなる場合も。 知ったかぶりによる言語批判 「****(言語)って汚い or 気持ち悪い」 これを言うのはほとんどその言語をちゃんと使ったことない人ばかりでは…! バグの犯人捜し・犯人叩き 開き直っちゃうけどバグが出るのは仕方がないよ…! 日経新聞から得たような(あるいは広告業界特有の)IT(?)用語 「WEB2.0のインフルエンサー
Sony DFW-VL500(IEEE1394) + DirectShow(Windows) ・・・で,どうやって? (注意)下記ドキュメントは2001年時点での情報です.例えば DirectShowは 2006年現在ではDirectXではなく Platform SDK ("Platform SDK" + "Web Install"などでウェブ全体からサーチ) に入っていたりします. ん?まてまて.そもそも,VCすらほとんど使ったこと無いやん. DirectX と ActiveX の区別がついたのがつい最近・・・香港映画との区別もつ かなかった三年前に比べれば,えらい進歩やね じゃあなんでDirectShowをやるの?・・・そこにDirectShowがあるから というわけで,あまり無理せんとできるだけシンプルに理解する.サンプルコー ドは main関数を用いたコンソールアプリケーションとし
集合知プログラミング 作者: Toby Segaran,當山仁健,鴨澤眞夫出版社/メーカー: オライリージャパン発売日: 2008/07/25メディア: 大型本購入: 91人 クリック: 2,220回この商品を含むブログ (277件) を見る当初はサンプルコードがPythonということで購入した本書ですが、読んでみると内容の素晴らしさに驚嘆しました。私が今までに読んだオライリーシリーズでも屈指の名作だと思います。 『集合知プログラミング』とは 『集合知プログラミング』は、Amazonの協調フィルタリングのように、ウェブ上のデータを収集してユーザーの嗜好にあったコンテンツを推薦したり、大量のデータを分かりやすく分類・可視化するプログラムを簡単に実装する技術を解説した書籍です。Webプログラミングをかじったことのある方でしたら、だれしもAmazonのような推薦サービスを作ってみたいと思ったこと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く