スポンサーリンク

hack

Windows XP等の,IE脆弱性の攻撃方法「ヒープ・スプレー」と「Use After Free」を,HTMLサンプルコードで理解しよう

HTMLとJavaScriptで,IEの脆弱性を攻撃できる。 (※具体的なサンプルコードも本記事に掲載) それが「Use After Free」および「ヒープスプレー」。 ちょうど2014年4月にWindows XPのサポート終了後すぐ,この脆弱性を攻撃するウィルスが発見され,大騒…

開発用のフォルダ構成を,自動的に生成してくれるバッチ (プロジェクト用のリポジトリ立ち上げに便利。ついでに,用が済んだら自動消滅!)

ソフトウェア開発のためのフォルダ構造を,自動的に生成するバッチ。 例えばSVNリポジトリの立ち上げ時などに,ワンクリックで,チームで作業可能な開発プロジェクトのひな型を生成することができる。毎回同じようなフォルダ構造を手動で作るのは面倒なので…

自作のC言語プログラムから,BIOS設定(CMOS)を読み書きする方法 (の調査ログ)

自作のプログラムから,BIOSの設定を変更する事は可能なのか。 例えばブートデバイス設定やブートシーケンスの設定は,ふつうはPC起動時の「BIOS設定画面」から手動で変更するわけだが,これらの項目を,自作プログラムから書き換える事はできるのか。 (1…

Javaで,private変数・privateメソッド・privateコンストラクタを,外部から呼び出そう (リフレクションの方法)

Javaでは,クラス内でprivate宣言されたメンバは,普通は外部からは呼び出せない。しかし,リフレクションを使えば,それも可能。 本エントリでは,以下のサンプルコードを示す。 (1) privateなインスタンス変数の呼び出し方法 privateなクラス変数の呼び…

バッチで,リファラを改ざんし,ユーザエージェントを改ざんし,POSTリクエストを自動発行しよう (HTTPリクエストヘッダを自由に生成)

バッチのまとめTOPへ Webアプリケーションのセキュリティチェックや自動テストを行なうために,WebサーバやAPサーバに対して,「任意のHTTPリクエスト」を手軽に発行したい。 「任意のHTTPリクエスト」とは,例えば・・・ リファラ(リンク元)改ざん ⇒画面…

IE8で,ファイルのアップロードを自動化する方法  (WSH/JScriptでブラウザを自動操作するサンプルコード)

バッチのまとめTOPへ IE8で,ファイルのアップロードを自動化する方法を発見した。 以下はWSH/JScriptによるサンプルスクリプト。IE8(Windows XP)で動作確認済み。 upload.js // IEを起動 var ie = WScript.CreateObject("InternetExplorer.Application");…

バッチで,レジストリの値の読み取り・書き込み・存在判定をしよう(WSH/JScriptでレジストリ操作のサンプルコード)

バッチのまとめTOPへ WSH/JScriptで, レジストリのキーの存在判定 レジストリの値の読み取り レジストリの値の書き込み,新規作成 をするためのサンプルコード。 サンプルコード reg.js // 対象とするレジストリのキー var reg_key = "HKEY_LOCAL_MACHINE\\…

alert() と書くために,わざわざ行頭に戻らなくてもすむ方法

JavaScriptプログラミングのTOPへ JavaScriptで,文字列の内容を確認するためには alert( str ); のようなコードを書く。 しかし,本当は str.alert(); のような書き方をしたい。 そう思うのでは。 文字列(「str」とか 「"hoge"」 )を書いてから,そのあと…

コマンドプロンプトから,Win32 APIや任意のDLLを呼び出して実行しよう (コマンドプロンプトから画面キャプチャする方法の仕組みを理解)

バッチのまとめTOPへ Windowsのコマンドプロンプト上で,Win32 APIなどのDLLを呼び出して実行する。例えば,コマンドプロンプトだけで,任意のキー操作イベントをエミュレートできる。 サンプルコマンド:コマンドプロンプトから,画面をキャプチャする。(P…

今から3分で,IE 上で .NET のDLLを動かそう (ブラウザ上で C# のコードを動かす方法)

今から3分で,Webページ上で,Microsoft .NET のコードを動かそう。JavaScriptにできない事も,.NETなら可能になる。 今回は,Windowsアプリ用のUI部品(カレンダー)を,Webページ上で使ってみる。 メモ帳さえあればよい。 Visual Studioは不要。 .NETの詳…

パスワード付きのExcelの保護を,バッチで自動的に解除しよう (VBAマクロが見れないブックに対して,パスワードを自動入力)

バッチ・マクロのTOPへ Excel VBAは,パスワードで閲覧制限をかけることができる。 ※その方法: Excelブック内のマクロをパスワードで保護する方法 http://www.happy2-island.com/excelsmi... VBE上で,ツール>VBAプロジェクトのプロパティ>保護 を開く。 …

Excelのマクロを外部に吸い出して保存するバッチ (WSH/JScriptで,VBAのソースコードだけを抜き取る)

バッチ・マクロのTOPへ Excelから,VBAのコードを吸い出すバッチ。 モジュールごとに,(モジュール名).bas の名前で保存される。

ウィルス対策ソフトをかいくぐって ADODB.Stream を使う (WSH/JScriptでUTF8の入出力・続編)

バッチのまとめTOPへ 下記の記事では、バッチでかんたんに文字コード変換する方法を述べた。 JScript・WSHで、UTF-8でファイルの読み書きをする方法 (ADODB.Streamで文字コード変換するサンプルコード)http://d.hatena.ne.jp/language_and_engineering/200…

コマンドラインからマウスを操作する方法 (rundll32.exeで動くDLLの作成法)

Windows上でアプリケーションを自動で操作するためには, プログラムによってマウスポインタを任意の場所へ動かし クリックさせる といった制御が必要になる。 この「マウスの自動操作」はとても汎用的な操作なので,どんなプログラミング言語からもライブラ…

ウィンドウをきっかけに Windows の内部の仕組みを探る (後半)システムコールからカーネルデバイスドライバまで

「ウィンドウとは何なのか?」をテーマに,前回の記事までで,以下の事を学んだ。 Windows でウィンドウを表示するための手段はたくさんあるが,実はどれも user32.dll を呼び出している。 アセンブラのプログラムから直接 user32.dll を呼び出し,ウィンド…

ウィンドウをきっかけに Windows の内部の仕組みを探る (前半の補足)アセンブラでウィンドウを生成する方法

前回の記事では以下の事を学んだ。 Windowsにおいてウィンドウを表示する機能は,Windows API という API によって提供されている。 Windows API の中で,特に user32.dll というファイルがウィンドウ処理を担当している。 (そして user32.dll の中味を逆ア…

JavaScript をコマンドラインで実行する方法  (mshta.exeの使い方)

JavaScriptプログラミングのTOPへ 問JavaScriptで,100以下の素数を列挙するコードを作成し実行しなさい。ただし 1ミリでもマウスポインタを動かしてはいけません。 1バイトでも新規ファイルを作成してはいけません。 さあ,どうぞコーディングを始めて下…

メモリの中身を読んでみよう (プロセスをダンプ+解析する方法)

実行中のプログラムは,メモリ上に存在する。 そのメモリ上のデータを読み取れば,アプリケーションが扱っている生のデータを,そっくりそのまま取得できてしまう。 ユーザがどのような値を入力したか,アプリケーションがどこと通信してどういうデータを取…

JavaScript ショートコーディングの10のコツ (ブックマークレット作成時に重宝するテクニック集)

JavaScriptプログラミングのTOPへ 数日前の わずか1.7キロバイトのJavaScript マリオ風のゲーム (脱力系) http://language-and-engineering.hatenablog.jp/entry/20081006/1223209263 という記事では,JavaScriptのショートコーディングを少し試みた。 そ…

逆コンパイル + 逆アセンブル のための5つの無料ツール (.exeと.classをリバースエンジニアリングするための,フリーソフトの使い方)

逆コンパイル, および逆アセンブルのための各ツールと,実行手順を列挙する。.exeと.classが対象。 ※リバースエンジニアリングにあたっては,ソフトウェアの使用契約にくれぐれも留意すること。 (1) .exeファイル 逆アセンブラ 逆コンパイラ (2) Java …