ひょんなことから、zgrepコマンドは圧縮されていないファイルに対しても検索できることを知りました。


$ file *
foo.txt.gz: gzip compressed data, was "foo.txt", last modified: Thu Aug 2 15:34:45 2018, from Unix
hoge.txt: ASCII text

$ zgrep "Hello" foo.txt.gz
Hello

$ zgrep "Hello" hoge.txt
Hello

今までは圧縮ファイルの検索にはzgrep、特に圧縮されていないファイルの検索にはgrepというふうに使い分けていたのですが、実際にはzgrepだけで事足りたようです。
圧縮ファイルと非圧縮ファイルの両方に対して いっぺんに検索をかけたいときはzgrep一発でOK

$ zgrep "Hello" -R .
./foo.txt.gz:Hello
./hoge.txt:Hello

以上
手軽にUnicodeをアンエスケープする方法を探していたのですが、最近ようやく一つ方法を見つけました。

.bashrcに下記を追加します。

function uni() { zsh -c 'echo -e $0' $1; }

変更を有効にするためsourceコマンドを走らせます。

source .bashrc

$ uni "\u1794\u17D2\u179A\u1791\u17C1\u179F\u1780\u1798\u17D2\u1796\u17BB\u1787\u17B6"
ប្រទេសកម្ពុជា


Unicodeエスケープされた文字がアンエスケープされてクメール文字として出力されました。

もし実行して"zsh:1: character not in range" try to change the local settingみたいなエラーが出たらロケールの設定を変更する必要があります。

export LC_CTYPE="en_US.UTF-8"とかexport LC_CTYPE="UTF-8"のコマンドを叩くか、.bashrcに追加することで対応できます。

以上
Application Compatibility Cache (Shimcache)とはWindowsシステム上で実行されたプログラムの互換性に関する問題をトラックするためのデータベースです。

Application Compatibility Cacheを調査することによって、対象のWindowsホスト上で、どのようなプログラムが実行されたかを確認することができます。

Application Compatibility Cacheには以下のような情報が含まれています。

- ファイルのフルパス
- ファイル・サイズ
- ファイルの最終更新日時($Standard Information timestampより)
- Application Compatibility Cacheの最終更新日時
- プロセスの実行フラグ(Execution Flag)


Application Compatibility Cacheのエントリーを調べるとExecution Flagが"FALSE"となっているファイルを少なからず見かけます。

ファイルのExecution Flagが"FALSE"となっている場合、以下のようなケースが考えられます。

1. ユーザーが実行可能ファイルの配置されているディレクトリをエクスプローラー等で閲覧した(なので実際には実行されていない)
2. ほかのプログラムによってファイルが実行された

2の具体例としてはWindowsのバッチ(.bat)ファイルが挙げられます。

バッチファイルはファイル単体では実行できません。多くの場合、コマンドプロンプト経由で実行されます。例えば"foo.bat"というバッチファイルがコマンドプロンプトから実行された場合、Application Compatibility Cacheでは"foo.bat"のExecution Flagは"FALSE"として記録されます。そして"foo.bat"のエントリーの直前に"cmd.exe"(コマンドプロンプト)がExecution Flag "TRUE"として記録されます。


参考URL
https://docs.microsoft.com/en-us/windows/desktop/DevNotes/application-compatibility-database
https://www.fireeye.com/blog/threat-research/2015/06/caching_out_the_val.html
https://www.fireeye.com/blog/threat-research/2015/10/shim_shady_live_inv/shim-shady-part-2.html
https://www.fireeye.com/content/dam/fireeye-www/services/freeware/shimcache-whitepaper.pdf
最近、アセンブリの勉強を少ししています。

手始めにこの記事を参考にアセンブリとバッファオーバーフローの勉強をしてみます。

MORE »

正規表現でマッチした文字列を再利用するには後方参照(Backreference)を利用します。

以下はsedを用いた例です。

echo 'abc12345' | sed -E 's/([a-z]{3})([0-9]{5})/\1FOO\2BAR/g'

英小文字3文字の末尾に"FOO"という文字列を付け足し、数字5文字の末尾に"BAR"という文字列を付け足します。

sed01.png

echo 'abc12345' | sed -E 's/([a-z]{3})([0-9]{5})/\1FOO\2BAR/g'

([a-z]{3}) : 1つ目のパターンマッチ。英小文字3文字にマッチする。
([0-9]{5}) : 2つ目のパターンマッチ。数字5文字にマッチする。
\1 : 1つ目のパターンにマッチした文字列を参照する。
\2 : 2つ目のパターンにマッチした文字列を参照する。

パターンマッチはカッコ()の中で定義します。

以上。

 | HOME |  »

奇妙な風景 Unique Scene
<< >>

プロフィール


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


スポンサード リンク


FC2カウンター


検索フォーム


RSSリンクの表示


リンク


ブロとも申請フォーム


QRコード