ほげぐらまの別館

プログラムに限らずてきとーに、ね?

決してApple信者ではありません、どころか、結構Appleも好きでない部類なのですが良い製品は認めて買う!ということで、iPad mini RetinaをAppleStore経由で購入しました。店頭販売は11月14日らしく、私が手にしたのは11月16日でしたので失敗した感が否めなかったのですが、どこもかしこも『売り切れ』な状態を見る限りはAppleStore直接で正解だったのかな、とも思ったり。

iPad mini Retinaのレビューは多いので取り立てて書くこともないのですが、iPad 3 → iPad mini Retinaの所感です。

  • 一回り小さいけど打ちづらいということはない (=メモ書きデバイスとしては使える)
  • 652g → 331g の変化は非常に大きい、片手で余裕持ち
  • iPad 3より遥かに綺麗に見える (=dpiが上がった影響)
  • プロセッサがCPU, GPU共に大幅向上 (ギルドラでも処理が上がったことを確認)

今回気になったのは、iPad mini → iPad mini Retina の際に重量が23g増えたことが欠点だ!、なんて書かれるケースがあるのですが、お前さんの腕は23g増えただけで痙攣起こすほど貧弱なのかよ、と。プロセッサ速度の向上、Retina化の2つが23gの重量増に対する価値として遥かに上回っていると思うのですけどね。

iTunesからの『復元』もパスワードつき復元を行ったので無事キーチェーンが引き継がれて、各種ゲームもアカウント消失することなく無事セットアップも完了。3DMarkのベンチマークを行ってみたのですが、iPad mini Retinaをapplelipad4.4と表示され正常なスコアが反映されないので、一部のスコア画面だけ載せてみます。

IMG_0012

Unlimitedのスコア結果ですが、

  • Microsoft Surface 2 ・・・ 13631
  • Apple iPad mini Retina ・・・ 14249

となるので、スコア的にはiPad mini Retinaの方が優れています。が、解像度自体もiPad mini Retinaの方が1.5倍ほど上なので、その点も加味されるとすると圧倒的な処理速度差があるかな、というところです。

とは言っても、やはり私的には利用コンセプトが違うのでまったく問題にならないのですけどね。そして最後に今回の出費。

  • Apple iPad mini Retina (Gray, 16GB) ・・・ 41,900円
  • Apple Smart Cover (Black)・・・ 4,080円
  • Power Support Anti-glare for iPad mini ・・・1,280円

計47,260円。年末に家電を買うこともないし、年内はこれが最後の出費かな・・・・。auから新しいWindowsPhoneが出れば臨時出費が発生するのですけどね! 期待しないで待っています。

タイトルに違和感を感じれば正解、『買ってしまいました』ではなくて『買っていました』です。最近の土日のテンションが若干低くブログの更新が滞り気味ですがMicrosoft Surface 2を購入したのが発売日である10月25日。同僚から一つのリンクを送られたのが全ての発端。まだMicrosoft Surface RT(第1世代) を購入してから半年程度ですが、スペックのあまりの飛躍ぶりに購入せざるを得なかったというのが正直なところです。

Microsoft Surface RT(第1世代) と Microsoft Surface 2(第2世代)との違い

  • カラーリング: 黒→シルバー へ変更 (※ 初代TypeCoverとの色相性が悪くなった・・・)
  • 重量: 680g→676g へ軽量化 (※ 全く体感有りません)
  • バッテリー: 8時間→10時間 へ延長 (※ 初代でも十分なのですけどね)
  • CPU(GPU): Tegra3→Tegra4 へパワーアップ (※ 解像度、処理速度向上に大きく寄与)
  • 解像度: 1366×768 (148dpi) → 1920×1080(208dpi) へ変更
  • USB: USB2.0 → USB3.0 へ変更
  • OS: Windows RT 8.0 → Windows RT 8.1 へ変更
  • アプリケーション: 無し → Outlook RT 8.1 付属 (※ POP3対応 + スケジュールなどの管理統合)

今回に関してはPro版に比べてRT版の方が圧倒的な進化を遂げています(が、一般ユーザーには変わらず x86/64アプリケーションが動かないのは厳しいでしょう)。

RT版の性能の進化ぶりに関してはWindows Storeアプリケーション『3DMark』でも結果は出ており、スペック差が全く別物という感じです。

3dmark_1

3dmark_2

 

描画スペック的には iPad Air や Sumsung Galaxy S4にほぼ近しいものとなっており、XBox Liveアプリケーションもサクサクと動きそうですね、やらないけど。

Surface 2を買ってから気が付いたのですが、Windows Store版 『リモートデスクトップ』が、なんとRemoteAppに対応しているとのこと。現在RemoteAppの構成を行ってはいないし、画像の編集アプリケーションがWindows Storeに無いことで困っていましたが、これでMacromedia FireworksあたりをRemoteApp展開すればより一層使いやすくなりそうですね。

依然としてMicrosoft Surface 2(WinRT)を使えないデバイス/OSとけなす方が見えるようなのですが、やはりその人には使いこなすだけの知識とライフスタイルが無いのでしょうね。私が感じるSurface RT/WinRTの位置づけはどこかにあるクラウド環境を安価に手元へ持ってくる為のProxyデバイス的な存在であって、すべてをSurface本体に持たせようなどということは毛頭考えていません。『馬鹿と鋏は使いよう』なんて言葉があるとおり、用途をきっちり考えないとね。

 

そして最後におまけ。Surface2を購入した当初から描画乱れがチラホラ見られました。乱れる瞬間が一瞬なのと、毎回発生するわけではないという非常に嫌なケースだったので証拠としてビデオ撮影したものをフレーム切りだししたものが以下のピクチャです。(画面中央部に見られる線が描画乱れ(ノイズ)です)

20131102_surface_rt_issue_1

初期不良に当たることは早々ないと思いますが、店舗対応は購入時から2週間となりますので気になる不良があるようなら迷わず店舗相談してみるといいかもしれません。そしてビックカメラさんは初期交換対応に加えて、購入+装着していたディスプレイ保護シートも交換対応に含めてくれました。こればかりは出費を覚悟していたので非常にうれしい限りです。

珍しく引きこもりを辞めてお出かけをしてきました。あまり遠くに出るのも疲れるので非常に近場なのですが伊吹山→石田三成陣跡地、のコースです。

伊吹山は11月末日が最終営業日とあって11月2日では非常に寒い日となりました。天気も若干崩れかけ状態で山頂付近では霧がかった状態。Photosynth(Microsoftがリリースしている360°カメラアプリ)で撮影を行うも全く納得の行く出来とは行かず、結局写真一枚もなし。加えて、割と激務だった日々の翌土曜日に行ったのが大失敗で、偏頭痛と吐き気に見舞われるという最悪なコンディションでした・・・。

伊吹山は午前に行ってきて帰りに『梺(ふもと)』というレストランに立ち寄ったのですが、たまたま起動していたgMaps(Windows Phoneの地図アプリ)によれば近くに石田三成陣跡地があるとのこと。日本史は全くと言っても興味がないのですがなんとなく寄ってみることに。

石田三成陣跡地に着くころには割と晴れ間が出てきていい感じの日になりました。HTC Windows Phone 8Xの解像度も活かせた感じに写真を数点撮ってきました。

  • 陣跡地らしい防衛ライン

WP_20131102_005

 

  • 甲冑を着た人が合戦の説明をしている様子

WP_20131102_007

 

  • 石田三成陣地の碑石

WP_20131102_010

 

駐車場付近では甲冑を来た3人組の方が何やら合戦の練習(?)をしているっぽいのですが、ブログネタに写真を撮らせてください、とは言えずその写真は無しです。が、その方らしき車に『男なら一度は甲冑を着てみよう』と書かれていたのが印象的で軽くググったら思いっきりヒットしましたよ。

同場所の笹尾山交流館(小学校の一部を間借りしているようです)ではそこで飼っているヤギのヤギ乳アイスが食べられるということで、バニラアイス(300円)を頬張ってきました。地元民がこうやってがんばっているのを見ると応援したくなりますね。

名前からして普通にお目にかかれないタイプであると思った書籍です。つい先日発売されたばかりで、行きつけの本屋でかるーく眺めてみて購入しました。

 

書籍自体はx86アセンブリ~Win32 PE形式をターゲットに進んでいますが、Linux形式で使われているELF形式でも基礎知識に関してはある程度使えるかと思います。というのも、私のかつての専門がWin32であったのでELFに関する知識はあまりないのです。と言っても、Brewブートローダーを触る際には知らずにはいられないので2chで公開されていたブートローダーの中身を見て参考にさせてもらいました程度の知識なのですが。

中身を軽く読んだ感じの所感です。

  • これからリバースエンジニアリングに対する知識を身に着けるにはある程度良い
  • 書籍を読むにあたって「初めて読む8086/386」程度の知識は欲しい
  • Win32の知識も必要、特にインジェクション周りはPE形式に慣れていないと厳しい (Advanced Windowsが必要?)
  • カーネル部分に関しては触れていないので、更に混んだ小細工をするには別途知識が必要
  • リバースエンジニアリングに対する防衛に関しては物足りない気がしますが・・・、どうなのでしょう?

 

書籍の中で素晴らしいことが書かれていたので部分的に引用します。

真面目にコーディングを学んだ優れたプログラマが作成したコードは、むしろリバースエンジニアリングがしやすいという話があり、その裏をかいて、重要な中核のコードは初心者プログラマに任せようという話もよくする。実際にそのように作成したことはないが、多分これは、高度な難読化技術や今まで見てきたどんなダミーコードよりも高度な難読化技術になるかもしれない。(笑)

これはまさしくその通りだなと。別に自分のソースコードが美しい!!!、と絶賛するわけではないですが、自分の書いたソースコードに対してアタックを行うのは非常に容易なことでした。因みに、それで非常に悩んだ挙句に選んだ結論はセキュリティ部分に関しては外部ツールを使うこと。Win32関係ではASProtect辺りが有名なところですが、ASProtectに関してはいろいろ調べると有名すぎてアンパッカーが開発されてしまっていたので、私的にObsidiumが大好物でした。

そして現在、Win32から離れてWeb系の仕事を行っているわけなのですが・・・、あれはあれで色々厄介ですね。Web(HTTP)の範囲であれば基本的にはクエリ改ざんやURLを直接アタックするなどの間接的なものしか攻撃ができませんので、プログラマがきちんとパラメータの取り扱い方を知っていれば脆弱性はアプリケーションより遥かに少ないはずなのです。が、Webのプログラムが簡易化することで割と知識の浅いプログラマでも開発自体は行えるために脆弱性を自ら仕込んでいる状態が結構見受けられます。なんだかネイティブとWebで逆の動きをしているなー、と感じるところではあります。

 

既に起こっていると言っても間違いではないスマートフォン(iOS, Android等)へのアタックはより一層激しくなるでしょうし、正しい知識を身に着けないといけないな、と痛感する一冊でした。ただ・・・・ELF形式について書かれた書籍が無いよ。調べれば断片的に情報が出るのですが、流れを把握して知識を得たい・・・というのは甘えなのでしょうね。

 

PS1. 当時nProtectが導入されたころにあれが非常に厄介な動作(プロセスを隠したり、昇格関数をブロックしたり・・・)をしてくれたので結局カーネルドライバから処理の割り込みを行ったのですが、今現在どうなっているのでしょうね。スポーツではないですが、前線から離れると途端に知識が劣化してしまうというのが歳月の経過を感じるものです。

PS2. 書籍ではMFCリバーシングに対して触れられていましたが、個人的にはMFCよりVisualBasic6.0で作成されたアプリケーションのコードフックが非常に厄介でした。というのもの、メッセージの扱いが特殊であり、vbdllの塊があってIATをフックしても何故かフックしきれない部分が残ったりと。日本ならまだVB6.0とかで動いているシステムは多そうですね。

恐らくはこんな技術は需要が無いとは思いつつも書いてみます。先日BIC-SIMを購入した!、と書いたばかりですが色々考え直しました。というのも私の利用的には常時データ通信を必要とする使い方で局所的な大量通信を使うものではないのです。その為、BIC-SIM(IIJ-mio)のように『月間で500MB制限 + 必要があればブースト』というよりは、OCN-SIMのような『日次で30MB』という制約のほうが遥かに適したプランといえます。その為、IIJ-mioを契約するもわずか1ヶ月での解約という流れになりました。

そして現在23:45という真夜中で野郎が一人喫茶店ですることと言えば、通信試験。データ通信契約をするもそれを使ったVPN経由リモートデスクトップを使ったことがなく、果たしてこれは実用に耐えうるものなのだろうか、と。当然、直接のリモートデスクトップである方が通信容量的に軽いはずですが、やはり実用ではVPNを最低限通しますので。(VPN圧縮通信は使いません)

というわけで、データ端末のテザリングを有効化して、VPNを張りながらping + リモートデスクトップのコンビネーションを試験してみました。通信的には

Microsoft Surface RT ⇔ テザリング機器 ⇔ VPNエンドポイント(PPTP) ⇔ Windows 8(RDPホスト)

のような構成となります。結果はスクリーンショットの通り無事つながりました。

rdp

 

レイテンシ(latency)はリモートデスクトップ対象のPCにpingを1000回投げ続けて以下のようになります。

192.168.1.10 の ping 統計:
    パケット数: 送信 = 1000、受信 = 997、損失 = 3 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 108ms、最大 = 2290ms、平均 = 254ms

最少最大のふらつきもありますし、パケットロスも見られるもののそこまでクリティカルなものではないです。この記事の途中まではテザリング経由で書いていましたが、文字を打つ分にもそこまで句ではありません。

というわけで、月額980円のテザリングでも出先のリモートデスクトップにはある程度耐えられるものだ、というのが私の所感です。但し、恐らくは日次30MB制限内でのものなので途中でその制限を超えた場合はどのような状態になるか、まで試験しきれていません。ただ、費用対効果という点では非常に優れているなー、というところです。