« 2010年3月 | トップページ | 2010年5月 »

2010年4月

2010年4月26日 (月)

アセンブラプログラムをデバッグする

アセンブラプログラムをデバッグするにはgdbを使用します。

こういったソースがあるとします。

.data
msg:    .ascii    "hello world\n"
msgend:    .equ    len, msgend - msg

.global main
main:
    movl $4,    %eax
    movl $1,    %ebx
    movl $msg,    %ecx
    movl $len,    %edx
    int $0x80
    ret

これをgccでコンパイルします。

gcc helloworld.s -o hw

そうするとhwという実行ファイルが出来るのでデバッグしてみます。

gdb hw

(gdb) break main
Breakpoint 1 at 0x804a01c
(gdb) run
Starting program: /home/hirosandesu/hw

Breakpoint 1, 0x0804a01c in msgend ()

(gdb) disassemble
Dump of assembler code for function msgend:
0x0804a01c <msgend+0>:    mov    $0x4,%eax
0x0804a021 <msgend+5>:    mov    $0x1,%ebx
0x0804a026 <msgend+10>:    mov    $0x804a010,%ecx
0x0804a02b <msgend+15>:    mov    $0xc,%edx
0x0804a030 <msgend+20>:    int    $0x80
0x0804a032 <msgend+22>:    ret   
0x0804a033 <msgend+23>:    add    %al,(%eax)
End of assembler dump.

(gdb) i r
eax            0xbffff494    -1073744748
ecx            0xd0951f80    -795533440
edx            0x1    1
ebx            0x27eff4    2617332
esp            0xbffff3ec    0xbffff3ec
ebp            0xbffff468    0xbffff468
esi            0x0    0
edi            0x0    0
eip            0x804a01c    0x804a01c <msgend>
eflags         0x200246    [ PF ZF IF ID ]
cs             0x73    115
ss             0x7b    123
ds             0x7b    123
es             0x7b    123
fs             0x0    0
gs             0x33    51

(gdb) p/x $eax
$1 = 0xbffff494
(gdb) stepi
0x0804a021 in msgend ()
(gdb) p/x $eax
$2 = 0x4
(gdb) stepi
0x0804a021 in msgend ()
(gdb) x/s 0xbffff3ec
0xbffff3ec:     "VK\025"
(gdb) stepi
0x0804a030 in msgend ()
(gdb)
hello world
(gdb) c
Continuing.

Program exited with code 014.
(gdb) q

こんな感じです。
簡単に説明すると
gdb 実行ファイルで起動
break mainでmainにブレークポイントをセット
runで実行
disassembleでアセンブラを表示
i r(info register)でレジスタ情報の表示
p/x $eaxでeaxレジスタを16進数で表示
x/s アドレスでアドレス位置の文字列を表示
c(continue)で続行
qで終了

といった感じです。
楽しいですね。


| | コメント (0) | トラックバック (0)

4/25 タスク

トレーニング
 ×筋持久力
 ×ストレッチ
 ×バランス
○クライアント展開作業
○LaTeX

実行 2/5
途中 2
完了 0

| | コメント (0) | トラックバック (0)

2010年4月25日 (日)

vimで自動インデント

アセンブラコードを書いているときにvimで自動インデントが出来ないかと調べてみました。

有効
:set autoindent
無効
:set noautoindent

短縮形
:se ai
:se noai

簡単に出来ちゃうんですね。

参考URL:vi 自動インデントを無効にする方法

| | コメント (0) | トラックバック (0)

4/24 タスク

トレーニング
 ×筋持久力
 ×ストレッチ
 ×バランス
○週次レビュー
○Ubuntu草稿
○プール

実行 3/6
途中 1
完了 2

いろんなことに目移りしすぎ。

| | コメント (0) | トラックバック (0)

2010年4月24日 (土)

ophcrackを試してみた。

USBメモリからブートするubuntu9.10でwindowsのパスワードを解析してみました。

ubuntu9.10でaptitude install ophcrackでインストール出来ます。
こんなものまでパッケージで存在するなんてさすがLinuxだなと感心しました。

http://ophcrack.sourceforge.net/tables.php
ここからxp free fastの辞書をダウンロードして適当なフォルダに解凍します。
結構でかいです。

usbメモリからブートするとwindowsのディスクは簡単にマウントできます。

dfコマンドでマウント位置を確認。

ophcrack -g -w disk/WINDOWS/system32/config -t /home/k/tables_xp_free_fast

コマンドの引数では、windowsのsystem32/configフォルダのパスと辞書ファイルがあるディレクトリのパスをしていしてやります。

そうするとwindowsの全ユーザのパスワードがあっという間に解析されちゃいます。

これがブルートフォースアタックの威力なのですね。

参考URL:USBメモリ上のUbuntuでophcrackを使う

| | コメント (0) | トラックバック (0)

4/23 タスク

トレーニング
 ×筋持久力
 ×ストレッチ
 ×バランス
○25日手順
○PCVIEW
×セットアップ情報
○コンピュータの仕組み

実行 3/7
途中 2
完了 1

疲れがたまってるみたい。

| | コメント (0) | トラックバック (0)

2010年4月23日 (金)

SQL/PLUSでPROCEDUREの中身を見る

select text from user_source where name='procedure名';

| | コメント (0) | トラックバック (0)

4/22

トレーニング
 ○筋持久力
 ○ストレッチ
 ○バランス
○セキュリティパッチ
○IPS
○25日手順書
○ITSM前回の問題
○Linuxアセンブラ

実行 8/8
途中 3
完了 5

無難なスケジュールだった。

| | コメント (0) | トラックバック (0)

2010年4月22日 (木)

iconvによるテキストファイルの文字コード変換

sjisからutf8へ変換する例

iconv -f sjis -t utf8 input.txt

文字コードチェック

iconv -f utf8 -t utf8 input.txt || echo "not utf8"

| | コメント (0) | トラックバック (0)

2010年4月21日 (水)

NetBIOS名からIPを調べる。 IPからNetBIOS名を調べる。 in Linux

nmblookup NetBIOS名

nmblookup IPアドレス

相手側がファイルとプリンタの共有が有効になっている必要がある。

| | コメント (0) | トラックバック (0)

4/20 タスク

トレーニング
 ○筋持久力
 ○ストレッチ
 ○バランス
○セキュリティパッチ
○PC修理
○25日準備
○FTPログチェック
○Linuxアセンブラ
○新参者

実行 8/8
途中 5
完了 3

良く出来た。

| | コメント (0) | トラックバック (0)

2010年4月20日 (火)

THE21 「「仕事が速い人」vs.「遅い人」は、何が違うのか?」を読んで

THE21 2010年5月号の記事 『「仕事が速い人」vs.「遅い人」は、何が違うのか?』を読んでエッセンスを抜粋してみました。

・生きた知識を蓄積
・通る企画書は上司の好みやクセを知る。完璧にしようと すると時間がかかりすぎて間に合わず肝心なところか出来ていないものになる。
・仕事の仕分けをする(不要な仕事と必要な仕事)
・戦略的に 品質を下げる
・上司や同僚の力を借りるのが上手
・決断が素早い
・瞬間集中力
・明確な志や夢を持っている
・細分 化、ルーチン化
・断るときは断る
・相手の反応を気にしすぎない
・他人を信頼して任せてみる

コミュニケーションを 取ってミスを減らす
 ・ニーズ(いつまで・目的・対象)
 ・念押し(再確認)
 ・中間報告

情報
 ・テー マを絞る
 ・情報ソースを絞る
 ・どんどんアウトプットする

仕事を作業系と考える系に分ける
作業系はルーティン 化する

| | コメント (0) | トラックバック (0)

4/19タスク

トレーニング
 ○筋持久力
 ○ストレッチ
 ○バランス
○アプリケーション情報にドキュメント連動機能
○FTPログチェック
○セキュリティパッチ
○EPSON登録
○セットアップ情報
○ITSM前回の問題
○Linuxアセンブラ

実行 10/10
途中 5
完了 5

無難にこなせた。

| | コメント (0) | トラックバック (0)

2010年4月19日 (月)

昨日までの経験を活かす

昨日までの経験があってそれを今日に活かすことが出来るのなら、昨日までの経験を上手に活用出来たことになります。
日常生活においてもPDCAするべきです。
昨日までの経験を活かさないのなら、再び同じスタートラインに立つことと同じではないてしょうか。

| | コメント (0) | トラックバック (0)

4/18 タスク

トレーニング
 ○筋持久力
 ×ストレッチ
○新参者
○コンピュータはなぜ動く

実行 3/4
途中 1
完了 2

全然出来ていない。

| | コメント (0) | トラックバック (0)

2010年4月18日 (日)

Linux全書

Linux全書を読んで新しく覚えたもののメモです。

psコマンドのオプション

psコマンドのps -efはSolaris V系、ps axやps auxはBSD系の全プロセスを見るオプション

$ ps
  PID TTY          TIME CMD
3264 pts/0    00:00:00 bash
3281 pts/0    00:00:00 ps

$ ps j
PPID  PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
3175  3176  3176  3175 tty1      3176 S+    1000   0:00 -bash
    1  3201  3176  3175 tty1      3176 Sl+   1000   0:01 gnome-settings-daemon
    1  3202  3176  3175 tty1      3176 S+    1000   0:08 gnome-panel
    1  3204  3176  3175 tty1      3176 S+    1000   0:00 /usr/lib/libgconf2-4/gc
    1  3258  3176  3175 tty1      3176 Sl+    1000   0:10 gnome-terminal
3258  3263  3176  3175 tty1      3176 S+    1000   0:00 gnome-pty-helper
3258  3264  3264  3264 pts/0     3282 Ss    1000   0:00 bash
3264  3282  3282  3264 pts/0     3282 R+    1000   0:00 ps j

$ ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:00 /sbin/init
    2 ?        S<     0:00 [kthreadd]
    3 ?        SN     0:00 [ksoftirqd/0]
    4 ?        S<     0:00 [events/0]
    5 ?        S<     0:00 [khelper]
   17 ?        S<     0:00 [kblockd/0]
   18 ?       S<     0:00 [kseriod]
   34 ?        S      0:00 [pdflush]
    35 ?        S      0:00 [pdflush]
   36 ?        S<     0:00 [kswapd0]
   37 ?        S<     0:00 [aio/0]
  786 ?        S<     0:00 [kjournald]
  964 ?        S<s    0:00 /sbin/udevd --daemon
2145 ?        Ss     0:00 dhclient3 eth0
2367 ?        Ss     0:00 dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0
2630 tty4     Ss+    0:00 /sbin/getty 38400 tty4


メモリの使用状況

$ free
             total       used       free     shared    buffers     cached
Mem:        256400     138208     118192          0      10832      83124
-/+ buffers/cache:      44252     212148
Swap:           0          0          0


viの操作

コマンドモード

H M L  画面の上中下にカーソル移動
w        次の単語の先頭に移動
e        次の単語き最後に移動
b       前の単語き先頭に移動
dw        右側の単語を削除
db        前の単語を削除
J          次の行と連結
d$        カーソルから行末まで削除
d0        カーソルから先頭まで削除
削除するとバッファに 入る。
p       カーソルの後ろにペースト
P        カーソルの前にペースト
I        先頭に移動し入力開始
A        行末に移動し入力開始

検索
/str    前方検索
?str    後方検索
n        次を検索
N        前を検索

コロンモード

:w file    名前をつけて保存
:r file    カーソルの後ろにファイルを読み込む
:e file    ファイルを開く
:f        現在のファイル情報
:s/str1/str2/    str1をstr2に置換
:s/str1/str2/g    str1をstr2に全て置換(カーソルのある行)
:.,$s/str1/str2/g    現在のカーソル位置から最後まで置換
:1,$s/str1/str2/g    全て置換
:3d    ファイルの先頭から3行削除
:.,$d    現在のカーソル位置から最後まで削除
:/str1/,/str2/d    str1を含む行からstr2を含む行まで削除
:set number    行番号表示
:!command    シェルコマンドの実行


シェルグロブ

$ ls /dev/tty?
/dev/tty0  /dev/tty2  /dev/tty4  /dev/tty6  /dev/tty8
/dev/tty1  /dev/tty3  /dev/tty5  /dev/tty7  /dev/tty9

$ ls /dev/tty[234]
/dev/tty2  /dev/tty3  /dev/tty4

$ ls /dev/tty[5-7]
/dev/tty5  /dev/tty6  /dev/tty7

$ mkdir {aa,bb,cc}


ヒストリ

!コマンドの先頭部    最後に実行したコマンド

例:

$ ls -l
$ ls -a
$ !ls     ← ls -a が実行される

!?コマンドの一部   文字列を含むコマンド
例:

$ ls /bin
$ ls /etc
$ !?bin     ←ls /binが実行される


シェル

readonly    シェル変数を読み取り専用にする

例:
$ aa=1234
$ readonly aa
$ aa=5678 ←エラーになる

read    ユーザの入力により変数へセット

例:
$ read aa
こんにちは
$ echo $aa
こんにちは

起動時に読む設定ファイルの順

~/.bash_profile
~/.bash_login
~/profile

全 ユーザ対象
/etc/profile


シェルスクリプト

for i in $*
do
  echo $i
done

は次のように省略可能

for i
do
  echo $i
done

| | コメント (0) | トラックバック (0)

4/17 タスク

トレーニング
 ×チューブ
 ×ストレッチ
 ×ラダー
○資源ごみ
○タンブリング
○チェイス
○週次レビュー
○お念仏の案内
○プール
○コンピュータはなぜ動く

実行 7/10
途中 1
完了 6

眠さに負けた。

| | コメント (0) | トラックバック (0)

2010年4月17日 (土)

時間内に完成させるには

限られた時間内で物事を完成、あるいは達成するには。

まずは、イメージをする。
次にゴールを簡単に作り上げる。
最後に過程を作る。

という流れがいい。

一番時間がかかる過程のフェーズは最後にすること。
始める前にイメージをすること。
最初にゴールを作っておくことが大事。

例えば必要なレポートがあったとして、それがゴールだとする。
手書きでも何でも良いのでざっと作り上げる。
時間切れになっても、それさえあれば何とかなる程度のものでいい。
これが出来ていなくて時間切れになることが多い。

まずは欲しいものを先に作っておけばそれがなくなる。

| | コメント (0) | トラックバック (0)

ubuntu9.10にvmware playerを入れてwindowsを動かす

ubuntu9.10でwindowsを動かしてみたくなったのでvmware playerを入れてみました。

そのときの手順です。

1.https://www.vmware.com/jp/products/player/
   ここからVMware Playerをダウンロード
  ・氏名、住所等を入力してから、送られてきたメールのリンクをクリック。
  ・VMware Player for 32-bit LinuxのBundleファイルをダウンロード

2. ダウンロードしたファイルをbashより起動

  bash ./VMware-Player-3.0.1-227600.i386.bundle

     参考URL: http://emasaka.blog65.fc2.com/blog-entry-457.html

3.windowsXP のインストールcdをイメージファイルに出力 iso9660
  ※3~4、7はネットブックでCD-ROMドライブがないためイメージを使用した。

4.ubunt9.10マシンへコピー

5.vmware player起動

6.Create a New Virtual Machine

7.isoイメージを選択

8.Windows のセットアップが始まる

セットアップ完了。

最新のvmware playerはイメージも作れるようで、すごく簡単に出来ました。

| | コメント (0) | トラックバック (0)

2010年4月14日 (水)

4/13 タスク

トレーニング
 ○筋持久力
 ○ストレッチ
 ○コーディネーション
○セキュリティパッチ
○ロケーション登録
○インストールアプリケーションを収集情報に追加
○アドレス指定方式
○ITSM
○インストールアプリケーション

実行 8/9
途中 3
完了 5

仕事はとてもたくさん入ってきてきて,なかなか計画通りにはいかなかった。

| | コメント (0) | トラックバック (0)

2010年4月13日 (火)

4/12 タスク

○セキュリティパッチ案内
○PI除外タグ外し
○検索条件を収集情報に追加
×インストールアプリケーション
○THE 21 5月号
○マネーストック
○日銀政策委・金融限定会合議事要旨
○Debianリファレンス

実行 7/8
途中 3
完了 4

まだ本調子でないため控え目にした。

| | コメント (0) | トラックバック (0)

2010年4月 8日 (木)

4/7 タスク

トレーニング
 ○高速
 ○ストレッチ
 ○コーディネーション
 ○自転車 4月TOTAL 32km
○サービス管理レスポンス改善
○ITSM
○Tomboy
×Debianリファレンス

実行 6/7
途中 3
完了 3

りんぜも胃腸風邪で大変だし、これで精一杯かも。

| | コメント (0) | トラックバック (0)

2010年4月 6日 (火)

4/5 タスク

トレーニング
 ○チューブ
 ×ストレッチ
 ○ラダー
○作業依頼・改善要望今年度分準備
○EC PC 複合機
○PC教育 PC準備
○PC教育準備
○サービス管理レスポンス改善
○Googleモバイルになってしまう
○ITSM
○ごはん・風呂
○りんぜと遊ぶ、ママとコミュ
○ubuntu

実行 13/14
途中 4
完了 9

| | コメント (0) | トラックバック (0)

2010年4月 4日 (日)

ミッションステートメントにハッカーを追加

私のミッションステートメントに゛ハッカーを追加しました。
ハッカーというのは、世間では語弊されていますが、技術者のトップに立っている人のことなんです。
コンピュータに侵入して破壊したりするのはクラッカーというんです。
ハッカーはウィザードともいわれ、天才、熟練者の意味でもあります。

自分に何が出来るかを考えたとき、やっぱりコンピュータのことなんじゃないかと思いました。
仕事もそうですし、好きですからね。

人にはそれぞれ役割と言うものがあって、それを極めればいいんだと思います。
そうして、人の役に立てばいいんです。
隣の芝は青く見えるといいますが、他人の役割は良く見えがちです。
だからといって、他人の役割を真似したところで自分に向いていなければ、たいして出来ません。
それよりも自分の出来ることを極めたほうが利にかなってます。
もちろん、それが好きな事でなければいけませんし、ときには消えかかってきたエネルギーに力を注いでやらなければいけません。

と言うわけで、ハッカーになるんです。

| | コメント (2) | トラックバック (0)

2010年4月 3日 (土)

SQLPLUSのメモ

sqlplusのコマンドをいくつか覚えたのでメモ。

項目 コマンド 説明
接続 sqlplus ユーザ名/パスワード 通常接続
sqlplus system/manager 全オブジェクトが見える
sqlplus sys/sys as sysdba データベースのシャットダウン等も出来る
バッファ list 現在のバッファを表示(実行したSQL文)
ed 現在のバッファを編集
del 現在のバッファの削除
run 現在のバッファの実行
save 現在のバッファをファイルに保存
get ファイルからバッファへ読み込む
環境変数 show all 設定されている環境変数を全て表示する
set linesize 1000 行のサイズを1000バイトにする
スキーマ desc テーブル名 スキーマの確認
行のフォーマット変更 column カラム名 format a20 指定したカラム名を20文字表示に変更(sqlplus終了まで有効)
行数を指定したSELECT文 select * from テーブル名 rownum < 行数 指定した行数より少ない件数を表示
文字コードの変更 export NLS_LANG= UTF8 = Japanese_Japan.UTF8
SJIS = Japanese_Japan.JA16SJIS
EUC = Japanese_Japan.JA16EUC


| | コメント (0) | トラックバック (0)

4/2 タスク

○本を返す
トレーニング
 ○ストレッチ
 ○バランス
○マネタリーベース
○PCVIEW取り込み
○サービス管理レスポンス改善
○ITSM
○生き方→読書ノートをココログへ
○ポニョDVDラベル印刷
○Ubuntu辞書→活動HP
○Linux全書
○Debianリファレンス
○設計士電話
○家電話

実行 14/14
途中 4
完了 10

良く出来た。

| | コメント (0) | トラックバック (0)

2010年4月 2日 (金)

生き方を読んで

京セラやKDDIの創業者である稲盛和夫氏の著書「生き方」を読んでみました。

最近、創業者系の本を何冊か読んでいますが、この方は一番すごいと感じました。
気に止まった言葉をメモしておきます。

・同じような能力を持ち、同じ程度の努力をして、一方は成功するが、一方は失敗に終わる。この違いはどこからくるのか。人はその原因としてすぐに運やツキを持ち出したがりますが、要するに願望の大きさ、高さ、深さ、熱さの差からきているのです。
・楽観的に構想し、非観的に計画し、楽観的に実行する
・運命を変えて行くものは、ただ一つ私たちの心であり、人生は自分でつくるものです。東洋思想では、それを「立命」という言葉で表現しています。
・「知っている」ことと「できる」ことはかならずしもイコールではない。
・物事をなすのは、自ら燃え上がり、さらに、そのエネルギーを周囲にも分け与えられる人間なのです。けっして、他人からいわれて仕事をする、命令を待って始めて動き出すという人ではありません。
・まじめによく勉強をして80点をとる人間がいる。それに対して、頭の回転や要領がよく、勉強しなくても60点をとる人間がいる。後者は前者に対して、「あいつはガリ勉だから、できて当然だ。オレが本気さえだせば、あいつ以上の点がとれる。」というものです。
・西郷隆盛も、「徳高き者には高き位を、功績多き者には報奨を」と述べています。
・たとえば人と議論するにしても、何とかやり込めてやろう、悪いのは相手の方だから、その非を認めさせてやろうと思ってやるのと、相手も困っているだろうから、いい解決策をいっしょに考えようと思ってやるのとでは、同じ問題を扱っても結論は異なってきます。
・人生を大本で統御している「見えざる手」がある。1つは運命で、もう一つは因果応報の法則。因果応報の法則のほうが運命よりも若干強い。
・因果が応報するには時間がかかる。このことを心して、結果を焦らず、日頃から倦まず弛まず、地道に善行を積み重ねるよう努力することが大切なのです。

生き方―人間として一番大切なこと

      
生き方―人間として一番大切なこと

著者:稲盛 和夫

生き方―人間として一番大切なこと

| | コメント (0) | トラックバック (0)

4/1 タスク

トレーニング
 ○高速
 ○ストレッチ
 ○コーディネーション
○PC VIEW取り込み
×セットアップ情報プログラミング
○ポニョDVD
○生き方
○生き方→読書ノート
○読書ノート→Google Docへ
○Ubuntu辞書

実行 9/10
途中 3
完了

良く出来た。

| | コメント (0) | トラックバック (0)

2010年4月 1日 (木)

4/1 タスク

トレーニング
 ○ストレッチ
 ○バランス
 ○スプリント 46.6km/h
 ○自転車 1. 16.09km 38:26 26.3km/h
      2. 16.12km 42:51 22.6km/h
      3. 3月TOTAL 325.63km
○指示書入れ替え
○ドキュメント情報プログラミング
○ドキュメント情報テスト仕様書
○ITSM
○生き方
×ポニョDVD
○ubuntu辞書
○写真印刷
×活動HP

実行 10/12
途中 3
完了 7

怠けてしまった。
体温をあげるとだらけやすい。

| | コメント (0) | トラックバック (0)

2010年3月 キーワードマップ日記

201003_2

| | コメント (0) | トラックバック (0)

« 2010年3月 | トップページ | 2010年5月 »