以下のような、引数に渡されたデータをパーセントデコードするスクリプトがあったとします。
url01.png
上記の場合はパーセントエンコードの処理が一回のみだったので、デコードの処理も一回で済みました。

もしエンコード処理が複数回 施されていたとしたら、どうでしょう。
url05.png

スクリプトを実行して、デコード結果をコピペして、またスクリプトを実行して。。。なんてことを手動でするのは面倒でイケてないです。エンコード処理が100回とかされていたら、途中で心が折れてしまうでしょう。

そんなときは以下のワンライナー試してみましょう。

arg=value; for i in {1..5}; do arg=$(sh your-script.sh $arg); echo $arg; done

今回の用途に合わせると以下のようになります。

arg=%25252525e3%2525252581%25252525bb%25252525e3%2525252581%2525252592%25252525e3%2525252581%25252525b5%25252525e3%2525252581%252525258c; for i in {1..5}; do arg=$(python urldecode_utf-8.py -s $arg); echo $arg; done

※ループの回数がはっきりしないときは、for文のループカウンタを適当に大きな値に設定するか、あるいは for i in {1..5}; を while true; に置き換えて無限ループにすれば OK

実行。
url04.png

楽チンですね。

以上。
Application Compatibility (Shim)とは
Windowsシステム上で実行されるプログラムの互換性に関する問題を解消するための仕組みです。Application Compatibility (Shim)の存在によって、例えばWindows XPでしかサポートされていないプログラムをWindows 7 で動かすことができます。

通常、アプリケーションはWindowsと直接やりとりを行います。Application Compatibility (Shim)はアプリケーションとWindowsの間に入り、両者のやりとりを仲介することによって、プログラムの互換性に関する様々な問題を解消します。

例えば、Windows XPでしかサポートされていないアプリケーションをWindows 7で実行したとします。アプリケーションはまず、実行環境を確認するためWindowsのバージョンを尋ねるAPIコールを送ります。通常ならばこのAPIコールはWindowsに直接送られ、それに対してWindowsは「バージョンはWindows 7です」と回答するでしょう。その時点でアプリケーションはそれ以上処理を進めずに終了してしまいます。
Application Compatibility (Shim)を活用すれば、アプリケーションから送られたバージョン確認のAPIコールはWindowsではなくApplication Compatibility (Shim)によって処理されます。ここで、Application Compatibility (Shim)が「バージョンはWindows XPです ( 本当はWindows 7だけど :P )」と回答すると、それを受けてアプリケーションは実行を継続します。

上記はあくまで一例です。ユーザーは任意のShim database (sdb) ファイルを作成することによって様々な動作を定義することができます。
便利な仕組みですが悪用されることもあります。例えば、ブラウザ・アプリケーションに不正なDLLを読み込ませるようなShim databaseを作成することも可能なのです。
Application Compatibility (Shim)の概要についてはここが詳しいです。

以上。

参考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
時々使うのでメモっとく

du -s -h /path/to/dir

pycryptoを使おうとしてimportエラーが出た場合はpycryptoをインストールし直すと解決する(かも)

pip uninstall pycrypto
easy_install pycrypto

以上。
PHPでコードを記述するときは原則として開始タグ <?php と終了タグ ?> の間にコードを記述します。
php1.png

で、最近になって短縮型のPHPタグの存在を知りました。<?php ?> の代わりに <? ?> がタグとして使えます。
php2.png

fileコマンドでは短縮型のタグを用いて書いたコードはPHPスクリプトとしては認識されませんでした。
php3.png

以上。

 | HOME |  »

奇妙な風景 Unique Scene
<< >>

プロフィール


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


スポンサード リンク


FC2カウンター


検索フォーム


RSSリンクの表示


リンク


ブロとも申請フォーム


QRコード