xpwnのdmgでDecrypt

以前書いたvfdecryptを使うとiOS 6.0からはバグったdmgファイルしか生成できなくなりました。代替としてxpwnのdmgを使う事で正常にDecryptできます。

Xpwnからdmgをビルドする

xpwnのコードからビルドします。

git clone git://github.com/planetbeing/xpwn.git
cd xpwn
mkdir build
cd build
cmake ..
make dmg-bin

warningが出ますが、dmgはコンパイルできてます。dmg/dmgがそれです。/usr/local/bin/にでも入れときましょう。

dmgでDecrypt

dmg extract XXX-XXXX-XXX.dmg output.dmg -k <key>

RHEL6.xでファイル生成日時crtimeを確認する方法

ファイルには様々なメタデータがあり、代表的なのはmtime, atime, ctimeとかがあります。ext3ではこれらの情報はi-nodeの情報として格納されており、statコマンド等で確認する事ができます。ここでctimeはChange timeなので厳密にはファイルの生成時間ではありませんが、ext4からは嬉しい事にファイル生成時間がcrtimeとして拡張されています

さて、今お仕事で触っているRHEL6.xですが、こいつのcoreutilsのバージョンが8.4です。statコマンドがcrtimeの表示をサポートする初めてのコミットを含むバージョンは8.6であるため、RHNのパッケージのstatコマンドでは確認できません。RHEL 7.xではstatで知ることができるでしょう。

この程度のために他のリポジトリからのパッケージの導入やコンパイルをするもの億劫ですし、頻繁に使うわけでもありません。情報自体はi-nodeに格納されているため、その情報を見ることができればcrtimeを知る事ができます。debugfsコマンドはext2, 3, 4のデバッグ用のコマンドで、これを使ってファイルのi-nodeの情報を見ることができます。

debugfs -R "stat /root/test" /dev/mapper/vg01-lv02
ファイルシステムのマウントポイントをルートとしたPATH指定なので注意。<>でくくってi-node番号指定にする事もできます。これを打つと以下のようにi-nodeの情報が出力されます。

Inode: 133370 Type: regular Mode: 0644 Flags: 0x80000 
Generation: 1995841318 Version: 0x00000000:00000001 
User: 0 Group: 0 Size: 250 
File ACL: 0 Directory ACL: 0 
Links: 1 Blockcount: 8 
Fragment: Address: 0 Number: 0 Size: 0 
ctime: 0x4c080d16:0bf9435c -- Thu Jun 3 21:14:14 2010 
atime: 0x4c3da303:c11dd858 -- Wed Jul 14 12:44:03 2010 
mtime: 0x4c080d16:0bf9435c -- Thu Jun 3 21:14:14 2010 
crtime: 0x4c080d16:0bf9435c -- Thu Jun 3 21:14:14 2010  ←これ
Size of extra inode fields: 28 
EXTENTS: 
(0): 557470 

アプリのスタートアップ機能を搭載したInfinityTask v1.4

InfinityTaskの1.4をリリースしました。1.4では実験的な機能としてアプリのスタートアップを登録できる機能を追加しました。 「Startup Applications」の項目でアプリをオンにするとRespring後に自動でそのアプリが起動します。 SafariとChromeではこの起動時にOpenTabBackground++が動作するようにしました。

この起動は電話やメールと同様のサイレントな起動をしますので、通常のアプリ起動シーケンスとは異なる起動シーケンスになります。 このためアプリ側の各種初期化を行うメソッドの実装によっては望みの状態まで起動されない事もあります。(特にゲーム系はスタート画面まで行かない事が多いです)

本機能の主眼であるSafari, Chromeにおいては起動されてOTB++が動作する事を確認済みです。