ホーム > 記録

記録のアーカイブ

RLOを利用した偽装ファイルへの対策

RLO(U+202E)とは、Right-Left OverrideというUnicodeで定義されている制御文字で文字をアラビア語のように右から左方向であることを示す文字で、
これを利用すると、ファイル名を偽装することが可能になるのでこの制御文字入りの実行ファイルを実行できないように制限した。
ここでは環境はXP Professionalを対象としているので、XP Home Editionの方は下方に掲載している参考サイトを参照。

  1. [スタートメニュー]->[コントロールパネル]->[管理者ツール]を開く
    コントロールパネル
  2. [ローカルセキュリティポリシー]を開く
    ローカルセキュリティポリシー
  3. [ソフトウェア制限のポリシー]配下が存在しない場合は右クリックで作成する
    新しいポリシーの作成
  4. [追加の規則]の上で右クリック->[新しいパスの規則...]を選択する
    追加の規則
  5. メモ帳を開き、”*”を2個入力し、その間にカーソルを移動し、右クリック->[Unicode制御文字の挿入]からRLOを入力する
    RLOルールの作成
  6. RLO入りの文字列をコピー&ペーストして、セキュリティレベルが「許可しない」になっていることを確認して「適用」
    RLOをコピー&ペースト

参考

ツイートツイート

AmazonSearchをHTMLで設置する

Amazonで作成したウィジェットではJavascriptが利用されるうえ、HTML構文エラーやデザイン的問題があったので、HTMLで実装してみた。
正しく動作するかまだ確認できてないが、とりあえず検索としてはちゃんと動いてるみたいなのでメモ。
以下、サイドメニューに追加したHTML構文


<dt>AmazonSearch</dt>
<dd>
<form action="http://www.amazon.co.jp/exec/obidos/external-search" method="get">
<fieldset>
<legend>
<label for="AmazonSearchKeyword">Amazon検索</label>
</legend>
<div>
<strong>サーチ:</strong>
<select id="searchDropdownBox" style="font-size: 0.8em;" title="次の中からサーチ" name="url">
<option selected="selected" value="search-alias=aps">すべてのカテゴリー</option>
<option value="search-alias=stripbooks">和書</option>
<option value="search-alias=english-books">洋書</option>
<option value="search-alias=dvd">DVD</option>
<option value="search-alias=popular">ミュージック</option>
<option value="search-alias=classical">クラシック音楽</option>
<option value="search-alias=mi">楽器</option>
<option value="search-alias=videogames">TVゲーム</option>
<option value="search-alias=software">PCソフト</option>
<option value="search-alias=electronics">家電&amp;カメラ</option>
<option value="search-alias=office-products">文房具・オフィス用品</option>
<option value="search-alias=kitchen">ホーム&amp;キッチン</option>
<option value="search-alias=food-beverage">食品&amp;飲料</option>
<option value="search-alias=hpc">ヘルス&amp;ビューティー</option>
<option value="search-alias=beauty">コスメ</option>
<option value="search-alias=baby">ベビー&amp;マタニティ</option>
<option value="search-alias=toys">おもちゃ</option>
<option value="search-alias=apparel">服&ファッション小物</option>
<option value="search-alias=shoes">シューズ&バッグ</option>
<option value="search-alias=jewelry">ジュエリー</option>
<option value="search-alias=watch">時計</option>
<option value="search-alias=sporting">スポーツ&amp;アウトドア</option>
<option value="search-alias=automotive">カー&バイク用品</option>
<option value="search-alias=diy">DIY・工具</option>
</select></div>
<div>
<input id="AmazonSearchKeyword" style="width: 10em; font-size: 0.8em;" name="AmazonSearchKeyword" type="text" />
<input name="tag" type="hidden" value="dambe-22" />
<input name="encoding-string-jp" type="hidden" value="日本語" />
<input style="vertical-align: middle;" name="Go" src="http://wms.assoc-amazon.jp/JP/img/go-rd-sec_tpng.png?tag=dambe-22" type="image" value="Go" /></div>
<div>
<a href="http://www.amazon.jp/?&amp;camp=759&amp;linkCode=wsw&amp;tag=dambe-22&amp;creative=3867">
<img style="border: none;" src="http://wms.assoc-amazon.jp/JP/img/amazon-logo-b_tpng.png" alt="Amazon.co.jpアソシエイト" />
</a></div></fieldset>
</form>
</dd>
ツイートツイート

mimo UM-740のインストール

同梱されているドライバCDは文字化けする上、UM-740が存在せず、UM-750となっており、
しかも、インストールを行うとAvira AntiVirに引っかかる危なさ。
これではまったくもって、信用できないため、Webから新しいドライバを入手してインストールした。

  • ドライバの入手
  • 注意
    グラフィックボードのドライバに依存してるため、グラフィックドライバのバージョンが古いとディスプレイアダプタのエラーを起こす場合がある。
    上手く動作しない場合は、グラフィックスドライバを更新してみること。
ツイートツイート

QEMUのコンパイル

QEMUの最新版がほしかったので自分でコンパイルしてみたときのメモ。

  • コンパイル環境構築
    • MinGW+MSYS+zlib
      1. 猫科研究パック(msys_felidlabo_a007.7z)をダウンロード
      2. msys_felidlabo_a007.7zを解凍し、作成されたmsysフォルダをc:/などマルチバイト文字およびスペースを含まないパスに格納(例:”c:/msys”)
      3. msys/_felidlabo/04_gccinstall.batを実行し、GCCをインストール
    • coreutils-ext
      1. coreutils-5.97-3-msys-1.0.13-ext.tar.lzmaをダウンロード
      2. coreutils-5.97-3-msys-1.0.13-ext.tar.lzmaを解凍し、binの中をmsys/bin/にコピー(pr.exeは上書きでよい)
        ※.tar.lzmaの解凍方法がわからない場合は、7-Zipを使用する
        ※coreutils-extを入れないとQEMUのmakeで下記のエラーとなる

        /pc-bios/optionrom/signrom.sh: line 31: * 512 - 1 
        : syntax error: operand expected (error token is "* 512 - 1 ")
        make[1]: *** [multiboot.bin] Error 1
        rm multiboot.o multiboot.raw multiboot.img
        make: *** [romsubdir-optionrom] Error 2
    • SDL
      1. SDL-1.2.14.zipをダウンロード
      2. SDL-1.2.14.zipを解凍し、SDL-1.2.14フォルダをmsys/src/へ移動
      3. msys/msys.batを起動し、下記のコマンドでSDLをコンパイル
        /src/SDL-1.2.14/configure --prefix=/mingw --disable-shared
        make
        make install
  • コンパイル
    1. qemu-0.12.4.tar.gzをダウンロード
    2. qemu-0.12.4.tar.gzを解凍し、qemu-0.12.4フォルダをmsys/へ移動
    3. msys/msys.batを起動し、下記のコマンドでQEMUをコンパイル
      mkdir /home/***/QEMU
      /qemu-0.12.4/configure --prefix=/home/***/QEMU --target-list=i386-softmmu
      make
      make install
    4. /msys/home/***/QEMU/にコンパイルされた実行ファイル等が格納されている
ツイートツイート

Ubuntu 10.04 でカーネル再構築

Ubuntu上でInfernoのカーネルをコンパイルするときに、

  1. /bin/sh: Argument list too long

というエラーでmkが完了しなかった。
xargsで分割できればいいんだけど、いまいち使い方がわからない。
というのもmkコマンドでmkfileを使うんだけど、その中身で
どうも、別ファイルを読み込んでその中をまた別のファイルに書かれてるスクリプトで
分割して、それを引数で渡してるみたいなんだけど、この場合どうやってxargsを使えばいいんだ?

仕方ないのでARG_MAX自体の値を増やすことにした。

カーネル再構築に必要なパッケージのインストール

  1. $sudo apt-get install build-essential
  2. $sudo apt-get install kernel-package libncurses5-dev libqt3-mt-dev

カーネルソースをインストールして展開

  1. $sudo apt-get install linux-source-2.6.32
  2. $cd /usr/src
  3. $sudo tar xvjf linux-source-2.6.32.tar.bz2

ソースの変更

  1. /usr/src/linux-source-2.6.32/include/linux/limits.hを開き、ARG_MAXを増やす

.config ファイルの作成

  1. $cd linux-source-2.6.32
  2. $sudo cp /boot/config-2.6.32-23-generic .config
  3. $sudo make oldconfig

パラメータの変更

  1. $sudo make menuconfig

Processor type and features ---> Processor familly ---> *Coer 2/newer Xeon
Timer frequency ---> *300 HZ
Device Drivers ---> ATA/ATAPI/MFM/RLL support ---> *generic ATA/ATAPI disk support
Device Drivers ---> ATA/ATAPI/MFM/RLL support ---> *ATA disk support

などを変更してSave Configuration to an Alternate Fileで変更を保存。
出来上がった .config ファイルの中を開いて、
以下のものが「M」ではなく「y」になっているか確認する。

  • CONFIG_IDE
  • CONFIG_SCSI
  • CONFIG_EXT3

並列コンパイル設定(CPUは4つなので最大5つまでという設定にする)

  1. $sudo export CONCURRENCY_LEVEL=5

カーネルリビルド

  1. $sudo make-kpkg clean
  2. $sudo make-kpkg –initrd –revision=20100710 kernel_image kernel_headers

.debができるのでdpkgでインストール

  1. $cd ../
  2. $sudo dpkg -i linux-image-2.6.32.*****20100710_i386.deb
  3. $sudo dpkg -i linux-headers-2.6.32.*****20100710_i386.deb

再起動

  1. $sudo shutdown -r now

起動しない・・・

Kernel Panic:VFS:***

というエラー、とりあえず、再起動後Shiftキーを押しっぱなしにしてGRUB2のメニュー入って、
正常に動いていたバージョンの起動設定と見比べてみるとinitrdの項が無いのが問題っぽい。
initrd作成

  1. $cd /boot/
  2. $sudo mkinitramfs -o initrd.img-2.6.32.***** 2.6.32

再起動後Shiftキーを押しっぱなしにして再度GRUB2のメニュー入って、
再構築したカーネルの項で”e”を押下で編集モードに入り末尾に

initrd /boot/initrd.img-2.6.32.*****

を追加して、Ctrl+xでなんとか起動できたっぽい。
GRUB2の変更は手動でやらないとだめなのかなぁ・・・。
そして、目的のARG_MAXの値を確認
$getconf ARG_MAX
で確認してみるも変わらない・・・。
カーネルが新しいのでもしかしてと重い
$sudo ulimit -Ss
を実行したところ、増えた。
結局、カーネルコンパイルしなくてよかったみたいなので、
今回作ったカーネルを削除して、今まで使ってたカーネルを利用。

増やしても、infernoのカーネルコンパイルエラーは発生する。
どうも作業してる方向がすでに間違っているようなので別の方法を探してみる。

ツイートツイート

inferno in QEMU on WindowsXP

inferno Install完了画面
QEMUにNative infernoをインストールしたときのメモ

  • 準備
    1. QEMU on Windowsをダウンロード
    2. inferno CD 2007May10をダウンロード
    3. QEMUを適当なところに解凍する(例:”C:\QEMU”)
    4. infernoCDをQEMUのディレクトリ内に解凍する(例:”C:\QEMU\inf.iso”)
  • インストール
    1. 1GBのHardDiskImageの作成(コマンドプロンプト)
      C:\QEMU>qemu-img create -f qcow inferno.img 1G
    2. infernoCDからBoot(コマンドプロンプト)
      C:\QEMU>qemu -L . -m 128 -boot d -cdrom inf.iso -hda inferno.img
    3. インストールシェルスクリプトの実行(QEMU)
      ;sh install.sh -m /dev/sdD0 /dev/sdC0
    4. パーティションをPlan9で作成(QEMU)
      >>> a p1
      start cylinder: 0
      end [0..1024] 1024
      >>> A p1
      >>> w
      >>> q
      
    5. 再起動されるので再度インストールシェルスクリプトを実行(QEMU)
      ;sh install.sh /dev/sdD0 /dev/sdC0
      >>> w
      >>> q
      
    6. 「Remove the CD and reboot」と表示されたらQEMUのWindowsを閉じる
  • 起動確認
    1. (コマンドプロンプト)
      C:\QEMU>qemu.exe -L . -m 128 -hda inferno.img -net nic,model=rtl8139
    2. (QEMU)
      ; wm/wm
      wmlib: can't allocate Display: .initdisplay: /dev/draw/new:
      ;
      

    とりあえず、動きはしたけれど、GUIが立ち上がらない。
    VGAが見えてない?
    QEMUはCL-GD5446をエミュレートしてらしい。
    で、ソースをあさってみると os/pcに

    • vgaclgd542x.c
    • vgaclgd546x.c

    はあった。つまり・・・未対応?
    もしかしたら応用でドライバかけるかもしれないけど今のところ見送り
    QEMUはVESA起動もできるみたいなのでそちらも試してみる

    1. (コマンドプロンプト)
      C:\QEMU>qemu.exe -L . -m 128 -hda inferno.img -net nic,model=rtl8139 -vga std
    2. (QEMU)
      ; wm/wm
      wmlib: can't allocate Display: .initdisplay: /dev/draw/new:
      ;
      

    やっぱり駄目っぽい。
    このCDに入ってるカーネルにはVGAドライバが組み込まれてないのかな?
    このCD起動カーネルと昨日のFD起動カーネルではファイルサイズが結構違う。
    つまり、コンパイルした内容が違うってことだろうけど、
    このCDのカーネルと差し替えれるカーネルをつくるにはどうすればいいんだろう。
    CDのカーネルと同じコンパイル条件を作りたいんだけど、
    そもそもコンパイルオプションとかがよくわかってない。

  • 参考
ツイートツイート

inferno in VirtualBox on WindowsXP

inferno起動画面
inferno を VirtualBox上で動くように Ubuntu で コンパイル したときのメモ

  • ソースコードの入手
    1. $apt-get install mercurial
    2. $cd /usr
    3. $sudo hg clone https://inferno-os.googlecode.com/hg/ inferno
    4. $sudo chmod -R 777 /usr/inferno

    どうも、コンパイルが通らないのでVita Nuovaのバージョンを利用する。

    1. inferno Fourth Edition(inferno-20100120.tgz)をダウンロード
    2. inferno-20100120.tgzを解凍し、中身を/usr/inferno/へ上書き
  • コンパイル用ライブラリのインストール
    1. $sudo apt-get install libxpm-dev
    2. $sudo apt-get install libxext-dev
    3. $sudo apt-get install x11proto-xext-dev
  • infernoのコンパイル
    1. $sudo vi inferno/mkconfig
      
      @@ -17,0 +18,0 @@
      -	SYSHOST=Plan9
      +#	SYSHOST=Plan9
      +	SYSHOST=Linux
      @@ -25,0 +27,0 @@
      -#	OBJTYPE=368
      -	OBJTYPE=$objtype
      +	OBJTYPE=368
      +#	OBJTYPE=$objtype
      
    2. $sh makemk.sh
    3. $export PATH=$PATH:/usr/inferno/Linux/368/bin/
    4. $mk nuke
    5. $mk install
  • PBS(PCパーティションブートセレクタプログラム)と9load(カーネルローダ)のコンパイル
    1. $mkdir /usr/inferno/Inferno/386/lib/
    2. $sudo chmod -R 777 /usr/inferno/Inferno/386/lib/
    3. $cd /usr/inferno/os/boot/pc/
    4. $mk pbs.install 9load.install
  • カーネルコンパイル
    1. $cd /usr/inferno/os/pc
    2. $vi ether79x970.c
      
      @@ -540,6 +540,7 @@
      	switch(x&0xFFFFFFF){
      	case 0x2420003: /* PCnet/PCI 79C970 */
      	case 0x2621003: /* PCnet/PCI II 79C970A */
      +	case 0x2625003: /* PCnet/FAST III 79C973 */
      		break;
      	default:
      		print("#l%d: unknown PCnet card version %.7ux\n",
      
    3. $vi pc
      
      @@ -48,10 +48,11 @@
      	kern
      
       link
      -	ether2114x      pci
      +	ether79c970     pci
      +#	ether2114x      pci
       #	ether82557      pci
      -	ether83815      pci
      -	etherelnk3      pci
      +#	ether83815      pci
      +#	etherelnk3      pci
      	ps2mouse
      	ethermedium
       #	pppmedium ppp compress
      @@ -70,7 +71,7 @@
      	math
      
       init
      -	wminit
      +	shell
      
       code
      	int kernel_pool_pcnt = 10;
      @@ -79,7 +80,7 @@
      	int image_pool_pcnt = 40;
      	int cflag=0;
      	int swcursor=0;
      -	int consoleprint=0;
      +	int consoleprint=1;
      
       port
      	alarm
      @@ -137,3 +138,5 @@
      	/dis/lib/daytime.dis
      	/dis/lib/auth.dis
      	/dis/lib/ssl.dis
      +	/dis/lib/arg.dis
      +	/dis/lib/filepat.dis
      
    4. $mk
  • カーネルロード設定ファイルの作成
    1. $vi /usr/inferno/os/pc/plan9.ini
      
      bootfile=fd0!ipc.gz
      
  • フロッピーイメージの作成
    1. $emu
    2. ;cd os/pc
    3. ;gzip ipc
    4. ;disk/format -b /Inferno/386/pbs -df inferno.img /Inferno/386/9load plan9.ini ipc.gz

    出来上がったinferno.imgをVirtualBoxにマウントしBoot
    確かに起動はできたが、たまにPanicを起こす。
    infernoもPlan9系だからVirtualBoxではだめなのかもしれない。
    それに、Native infernoをコンパイルできたけど、FD起動なんだよね。
    Plan9のブートローダで起動可能ってことはこれで分かったんだけど、
    HDDからブートさせたい・・・Native infernoを使うにはPlan9の勉強した方がいいかもしれない。
    次回はinferno in QEMU on WindowsXPを試してみよう。

  • 参考
ツイートツイート

VirtualBox in Ubuntuで共有フォルダ

共有フォルダ設定

  1. 拡張機能のインストール
    1. 仮想マシンウインドウのメニューの「デバイス」→「Guest Additions のインストール」でインストールCDをマウント
    2. $cd /media/VBOXADDITIONS_3.2.4_62467/
    3. $sudo sh VBoxLinuxAdditions-x86.run
  2. 共有フォルダの設定
    1. 仮想マシンウインドウのメニューの「デバイス」→「共有フォルダ…」で共有フォルダを設定
    2. $sudu mkdir /mnt/share
      (マウント先の作成)
    3. $sudo mount.vboxsf Share /mnt/share/
      (共有フォルダをマウント)
ツイートツイート

Touch Diamond 環境構築メモ その5

便利ツールのインストールとフリック入力の設定を行う。
フリック入力画面

  • gsGetFile.dll インターナショナル版

    ファイル選択ダイアログの機能を拡張したダイアログを提供するDLL

    1. gsgetfile-i.zipを解凍し、ARMRel内のgsGetFile.dllをWindowsフォルダにコピー
  • FileDialogChanger(WM6.5暫定対策版)

    ファイル選択ダイアログをgsGetFile.dllが提供するダイアログに切り替えるツール

    1. filedlgchg_WM6_5.zipを解凍し、filedlgchg.cplをWindowsフォルダにコピー
    2. スタート→設定→システム→File Dialog Changerを選択
    3. 「Exchange Standard File Dialog」のチェックを入れ、設定完了
  • touchkeysip

    ソフトウエア入力パネル SIP

    1. touchkeysip112.zipを解凍し、touchkeysip.ARM.CABをS21HTに転送しインストール
  • gesture10key改造版

    フリック入力を行うtouchkeysip用スクリプト

    1. key0167.zipを解凍し、解凍されたフォルダの名前をgesture10keyに変更
    2. gesture10key内のgesture10key_x15_mst_vga_x04ht.txtをgesture10key_x17.txtに変更
    3. gesture10key内のgesture10key_x_mst_vga.bmpをgesture10key_x17.bmpに変更
    4. gesture10key_x17.txt内のgesture10key_x_mst_vga.bmpをgesture10key_x17.bmpに変更
    5. gesture10keyフォルダをS21HTのProgram Files内のtouchkeysip内に転送
    6. スタート→設定→個人用→入力を起動し、リストボックスから「touchkeysip」選択し、「オプション」ボタンを押下
    7. 参照ボタンを押下し、先ほどコピーしたフォルダ内の「gesture10key_x17.txt」を選択し、設定完了
  • カメラ消音化
    1. x04ht-Camera.zipを解凍し、CameraRc.dll.0411.muiをWindowsフォルダにコピー
    2. x04ht-Camera.zipに同封されているSDKCerts.cabをS21HTにコピーし、インストール後再起動

これで、基本環境は完了。
あとは、好みのソフトを入れていく予定。

ツイートツイート

Touch Diamond 環境構築メモ その4

パケット通信の接続設定を行う。
接続設定画面
EMnetの設定

  1. スタート→設定→接続→接続を選択
  2. 詳細設定→「ネットワークの選択」を押下
  3. 「インターネットに自動~」のほうの「追加…」を押下
  4. ISP名にEMnetを入力して「OK」を押下
  5. 「インターネットに自動~」のほうのリストボックスでEMnetを選択して「編集…」を押下
  6. 「新規」を押下
  7. 接続名に「EMnet」、モデムの選択に「Cellular Line(GPRS,3G)」を入力し、「次へ」を押下
  8. アクセスポイント名に「emnet.connect」と入力し、「次へ」を押下
  9. ユーザー名とパスワードに「*******」を入力し、「完了」を押下(一応伏字にしていますのでマニュアルを参照してください)
  10. 「設定→接続→接続」に戻って(詳細設定ではなく仕事)、「プロキシサーバーの設定」を押下
  11. 「プロキシサーバーを使用して~」にチェックを入れ、有効になった「詳細設定…」を押下
  12. 「HTTP」を選択し、サーバーに「wm.internal.emnet.ne.jp」、ポートに「8080」を入力し、OKを押下
  13. 「Socks」を選択し、サーバーに「wm.internal.emnet.ne.jp」、ポートに「1080」を入力し、OKを押下

embの設定

  1. スタート→設定→接続→接続を選択
  2. 詳細設定→「ネットワークの選択」を押下
  3. 「インターネットに自動~」のほうの「追加…」を押下
  4. ISP名にembを入力して「OK」を押下
  5. 「インターネットに自動~」のほうのリストボックスでembを選択して「編集…」を押下
  6. 「新規」を押下
  7. 接続名に「emb」、モデムの選択に「Cellular Line(GPRS,3G)」を入力し、「次へ」を押下
  8. アクセスポイント名に「emb.ne.jp」と入力し、「次へ」を押下
  9. ユーザー名とパスワードに「**」を入力し、「完了」を押下(一応伏字にしていますのでマニュアルを参照してください)

以上で接続設定を完了。
次回は、便利ツールのインストールを予定。

ツイートツイート
1 2 3 4 5 6

ホーム > 記録

検索
フィード
翻訳
Japanese flagEnglish flag

ページの上部に戻る