/ 最近 .rdf 追記 設定 本棚

脳log[2014-10-25~]



2014年10月25日 (土) [SakuraEditor]「Sakura Editor / PatchUnicode / #789 共通設定のツリー表示」■目的は何だろう。スクロール対応でダイアログサイズに制限されない設定スペース、ではない。縦と横の2軸に設定を再配置、ではない。多段タブだとわかりにくい(特に段の変わり目)タブの並びはわかりやすくなった。でも Ctrl+Tabが効かなくなってまどろっこしい。■他はどうかな?と最初に起動してみた SNESGTというソフトが面白い、というか謎。配置はサクラのツリーと同じ(タブを左に並べたかたち)。左列のカテゴリをキーボードで移動するとフォーカスが右列に飛ぶので連続してカテゴリ移動できない。コントローラー選択のコンボボックスがキー入力を握りつぶしてしまって反応しない(これは関係ないか)。Ctrl+Tabでタブ(?)移動できるのだが右列のタイトルが変わらず内容だけが変わってる(クリックをトリガーにしてタイトル文字を変更してるのかも。SpeedFanもクリックをトリガーにして設定画面下部にコントロールを配置してる。ソフトの価値はそこにはないからキーボードで使えないからって捨てないけど、やめてほしい。普通が一番(最大多数にとって)使いやすい。■こういうときは Meryを見たらいいのかな、と2番目に起動したのは Mery. 設定が多い整形タブの中身だけがツリー表示だった。そういえばインターネットオプションとその詳細設定も同じだ。自由度の高い配置と設定手段(いずれも場所をとる)と、単純(チェックボックスかラジオボタン)だが数が多いオプションのバランスを考えるとこうなるかも。Firefoxのオプションダイアログと about:configとかも。■基本(幹)↔詳細(枝葉)、単純↔複雑という2つの軸がある。些末で複雑な設定が独立したタブになってしまうのが不本意。サクラエディタは複雑な設定画面が多い。メインメニュー、ツールバー、ファイル名表示、キー割り当て、カスタムメニュー、強調キーワード、マクロ、プラグインあたりの8つがそう。だいたいが可変長の(=ユーザーが編集する)リストを使っていて、左右の位置関係を利用したものも複数ある。残るのは全般、ウィンドウ、タブバー、ステータスバー、編集、ファイル、バックアップ、書式、検索、支援の10。残り物をマージして基本(ダイアログ画面で設定)と詳細(ツリーで設定)の2タブに再構成するのは……ありかな。[基本1]タブと[基本2]タブが発生するようでは失敗だけど、フォントを設定するためのボタンをツリーに押し込める方法を見つけないと、重要でないフォント設定ボタンがいくつも画面に並びそう。そういうときのための[フォント]タブか?■ちょっとモダンな雰囲気になるだけの変更も無意味ではないけど、使いにくくなるのは……(といっても気がついたのは Ctrl+Tabと Ctrl+PageDn、Ctrl+PageUpだけ)。Firefoxのオプションダイアログはタブ風の画面分けの中にさらにタブがあるんよね。そうなるとキーにグローバルな意味を持たせられない。まったく……。■Linuxにでも行けって言われそうだけど、テキストエディタの設定を変更しようとしてそのテキストエディタ自身が起動するってかっこいいよね。


2014年10月24日 (金) 2ページ目と3ページ目に興奮する。「サムスン電子の工場で白血病はなぜ多発したのか 【後編】 文・立岩陽一郎(NHK記者) | 経済の死角 | 現代ビジネス [講談社]


2014年10月23日 (木) なんとかネットが掲げる「入居者様募集」の旗が本当にあちこちにある。数は少ないがそこに混じって「入居者募集中」というよその旗もあって、ああやっぱりこれが普通だな普通の旗があってよかったと思った。■「入居者」だって、気持ち悪い。貸し手と借り手という関係より先に搾取者と被搾取者の姿が見えてしまう俺がパラノイアなんだろうか。言語感覚が世間と乖離してるんだろうか>20131208


2014年10月22日 (水) 賛否両論なのが嬉しい。「はてなブックマーク - 電車内の足投げ出し、新型座席で解決 苦情なくなる:朝日新聞デジタル」俺はこっち派>20110310。補助でなく都合よく操作しようとする姿勢が醜悪。■じゃあ足ガバーな人をどうするかって、どうでもいい。理解できないし混んでるのにそれなら軽蔑するけど、だからといってどうにかしようとは思わない。原チャリ乗ってる中にも似たような格好の人は一定数いるでしょう(安全ヘルメットかぶった土方のおっちゃんとか)。それが基本姿勢なんじゃないの? たまたま自分がセーフラインの内側にいる事柄に対してあれはダメこれもダメって言い続けると、自分が他人より逸脱してる部分に関してもいずれ許されなくなるってことだ。いやだよそんな窮屈なん。そこで、いやいや自分は他人よりよっぽど平均的典型的な一般人だから得することの方が多くなるはずだ、なんて考えだす人は要注意。他人との比較ですべてを判断するのは差別ブラック化同調圧力ろくなことがないし、人を蹴落とし勝ち続けることでしか心の安寧を保てない。■こっそりシートを変更してたのなら何の感想も持たなかったろうに。意図が不快。隠せ。誇るな。


2014年10月21日 (火) String#toLowerCase と String#toUpperCase はブラウザーのロケーション設定がトルコだと正しい結果を返さない」■なんで正しくないって言っちゃうんだろう。たまたま自分が A-Z と a-z を相互変換したかったというだけのことなのに、大文字小文字の概念は単一の言語の専売特許ではなく toLowerCase/toUpperCase はその目的を過不足なく満たす手段ではなかったというだけのことなのに、なんで自分の期待する結果を返さなかったメソッドを間違っていると言っちゃうんだろう。


2014年10月20日 (月) 2006年9月から2010年8月までに製造したルームエアコン室内機および2006年9月から2011年4月までに製造した家庭用空気清浄機(空気清浄機『光クリエール』、加湿機能つき空気清浄機『うるおい光クリエール』、除加湿清浄機『クリアフォース』)について、送風用ファンモータより発煙・発火する事故が発生しております。」■うちのは 2010年製の空気清浄機(加湿機能なし)だったので該当せず。年中つけっぱなしだから発火は怖い。■夏の間は風呂場で手洗いして握って簡易脱水した化繊の(※臭いが移りやすい)下着を風の当たるところにぶら下げておくと一晩で(正確には一晩もかからずに)乾くのが重宝してる。■手袋はこれ(手袋スタンド ハート)の足を本体上面の手がつっこめる穴に差し込むと吹き出し口の上で安定するのでそこを定位置にしてる。■雨が降ると除湿器を併用するけどそれ以外は風があるだけで足りる。もともとほこりっぽい部屋の集塵が目的だったけど、いつでも使える風があるという副次的効果も便利なもの。ダイキンのはそっち方向のアピールが弱いんだけど。


2014年10月19日 (日) 『THE LAST OF US』をプレイしてる。難易度:グラウンドってなんやねん、地べたを這いずる超低難度のイージーモードか?という疑問を残しながら上級をセレクト。$1000たまったので女の子に猫リュックを与えようとしたら難易度:サバイバルをクリアしてないと買えないとか。くっそう。■プレイした感想は、これってバイオハザード?というもの。各種銃器、弾薬制限、工作(調合)、感染、クリーチャー、お供の女の子(たぶんはまり防止役。弾をくれたりする)、あたりの要素がそう思わせるのかも。バイオといっても 2しか知らないが。■「「真のバイオハザード」は伊達じゃない!PS3『The Last of Us』最新プレイムービーが公開!! : ゲームかなー」■システムがすごく快適。オートセーブで、死んでも死んでもだいたい1から数分前から再開できるので、一体明示的なセーブがどういうときに行うものなのかわからない。手に入れたものがその場で1ボタンで確認できる。一本道で一方通行。移動パートとバトルパートがわりにはっきり区別できる。大きな音や画面いっぱいのグロ画像みたいな露骨で陳腐な驚かせ方は狙っていない。■バトルパートが難しい。集まってこられると死ぬ。人間なら背後から近寄って締め落としたり弓矢で静かに一人ずつ消していけばいいんだけど、死体を処理できないからそのうち人が集まってきて囲まれる。ショットガンは撃ち合いに便利だけど、便利だから弾が切れる。感染者は集めて燃やすか爆破すればいいんだけど、火炎瓶も爆弾も3個ずつしか持てなくて頼り切れない。だもんで数が多いとスルーしたくなるんだけど殲滅するまで次の目的地がわからないことが多い。癪なので下げないが難易度は下げられるし(死にまくってると「途中からでも下げられるよ」ってヒントまで出る)、やり直しがスムーズなのでさして不満ではない。■馬を歩かせながら(walk? amble? trot? pace? canter? gallop?)タイミングよく△ボタンを押すと車の上に降りられる。基本的に馬の右に降りるのだが障害物があると左に降りる。歩きながらだとそのまま右に降りる。そうして車の屋根を貫通してお手上げ状態のジョエルが奈落に落ち込んで死ぬ。■■■3日でクリアした。ボス戦の演出が見事だった。これみよがしに床に置かれた割れた皿を踏んだりはしなかったけど。映画だと思えば長さは十分。物語を駆動する装置としてファイアフライを引っぱりすぎた感はある。作中でエリー自身が語ってたように、あいつら各地で死体をさらしてるだけの連中だったもの。脱出シーンはレオンだった。マチルダが一緒だったし視界が転倒しなかったのが違うけど。■テープレコーダーの再生にて、「大脳辺りょく系」。エリーの頭を開こうとしてた医師はとんだモグリだよ。酔っぱらうと表に出てくる部分として一般知識だと思うんだけど>大脳辺縁系。


2014年10月18日 (土) Firefox 33 ベータ版リリースノート」■ひとつだけ気になる。「新機能 JavaScriptの文字列処理が省メモリで高速になりました。(詳細はこちら)」■「こちら」のブログ記事からリンクされてたバグのひとつ>Bug 1008590。struct Atomのポインタメンバがポインタと char配列の unionに変更されてる。■それはそれとして、他の部分、masm. で始まる C++の皮を被ったアセンブリが異質で気になる。このへん(https://github.com/herumi/xbyak/blob/master/sample/bf.cpp)と同じ発想なのかな。さっぱりわからんですよ。


2014年10月17日 (金) 復刊というとちょっともにょる。今度出たのはシリーズ3作目で完全な新作です(たぶん)。「カーリー復刊によせて - Togetterまとめ」■20110803, 20121025


2014年10月16日 (木)

最終更新: 2014-10-17T00:06+0900

gdipp_loader_32.exe

以前書いた不満を解消するべく慣れないことをした。

gdipp_loader_32.exeが、引数として与えられたプロセスが終了するまで終了しなくなってる。WaitForSingleObject(pi.hProcess, INFINITE);してるんだから必要なことなんだろうけど残念。

gdipp_loader_32.exeは第一引数(任意の exeファイル名)のディレクトリをカレントにして exeを起動するけど、そのせいで exeに渡される二番目以降の引数が相対パスだったときにファイルを見つけられない。例えば

検索しもってちなみにたどり着いた手順。

  1. >SetEnv.Cmd
    >dumpbin /all /disasm gidpp_loader_32.exe
  2. 出力を読む。CreateProcessW関数は KERNEL32.DLLからインポートする関数として3番目に列挙されていて、KERNEL32.DLLの Import Address Tableの位置は 408000となっているので、408000,408004,408008,...の3番目(408008)を覚えておく。
  3. 出力を読む。コードは .textセクションに含まれている。/disasmオプションを付けたのでニーモニックで読める。さっき覚えておいた 408008で検索すると次の行(だけ)がヒットした。

    004010B3: FF 15 08 80 40 00  call        dword ptr ds:[00408008h]

    呼び出し規約の違いは知らないが、callにそなえて末尾の引数から順番に pushしてるぽいところから推測する。

    CreateProcessW(argv[0], lpCmdLine, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, working_dir, &si, &pi);
    004010B2: 52                 push        edx
    00401094: 8D 8D F4 FD FF FF  lea         ecx,[ebp+FFFFFDF4h]
    0040109A: 51                 push        ecx (これがきっと working_dirに違いない)
    0040109B: 6A 00              push        0  (NULL)
    0040109D: 6A 04              push        4  (たぶん CREATE_SUSPENDED)
    0040109F: 6A 00              push        0  (FALSE)
    004010A1: 6A 00              push        0  (NULL)
    004010A3: 6A 00              push        0  (NULL)

    51(push ecx)を 6A 00(push 0)に書き替えることはサイズが違ってできないので、その前の準備段階を含めた 8D 8D F4 FD FF FF 51(lea ecx,[ebp+FFFFFDF4h]; push ecx)を 90 90 90 90 90 6A 00(NOP;NOP;NOP;NOP;NOP; push 0)に書き替えることにする。

  4. 書き替える範囲は 00401094からの7バイトだが Stirlingで開いた gdipp_loader_32.exeにそんなアドレスはない。dumpbinが出力した .textセクションの情報を見る。

    68EA virtual size
    1000 virtual address (00401000 to 004078E9)
    6A00 size of raw data
     400 file pointer to raw data (00000400 to 00006DFF)

    virtual sizeと size of raw dataの微妙な違いが気になるが、00401094-00401000+00000400 = 494のアドレスを Stirlingで表示すると目当てのバイト列があったので書き替えた。

  5. 同じ要領で WaitForSingleObjectの呼び出しも 90(NOP)で塗り潰した。

すごく時間がかかった。『解析魔法少女美咲ちゃん』を参考にしようとしたが、丁度いいところで OllyDbg便利そうということしかわからなかった。済んでしまえばこの程度のことなのでバイナリエディタだけでなんとかしたいが、PEヘッダとインポート情報を読んでアドレスを変換するのが果てしなく面倒で、また、間違えやすい。アドレスもそこから読み取る値も同じバイト列だからか、すぐに区別がつかなくなる。

ちなみに 最初の検索ワードが「disasm」で次が「ディスアセンブラ」それから「逆アセンブラ」「Ordinal Hint」「インポートテーブル」「dumpbin」と変わっていった。並行して、eXeScopeを実行したり bcc55と VCの binディレクトリに dasm.exeみたいな名前(※ildasmからの類推)のファイルを探したりしていた。tdump.exe / dumpbin.exeがそうだとは気付かなかった。


2014年10月15日 (水) [Vista] Windows Updateって、通知領域のバルーンからウィンドウを表示したか、スタートメニューから起動したかを区別していて、ダウンロード開始後に自動で通知領域に帰っていくかそのままデスクトップに留まるかを決めてる。細かい仕事してんな(ほめてる)。


2014年10月13日 (月) 絶対に読まないのにとりあえず原著英訳本をウィッシュリストに入れておいた本の翻訳が年末に出るらしい。「ピケティ『21世紀の資本』サポートサイトその他 - 山形浩生 の「経済のトリセツ」」こんなに早く日本語で読めるなんて幸せだなあ。文字をなぞることはできても理解できない可能性についてはおいておいて。


2014年10月08日 (水) 昨日あたりほぼ満月だと思ったのに今日は半分しかない。俺の半月(はんつき)はどこへ行ってしまったんだ、と損した気分でいたのだけど、どうやら皆既月食の途中だったらしい。そういえば複数の親子連れが同じ方向の空を眺めていた。なーんだそういうことか、ってそれはそれでもったいないことをした。■満ちて欠けるまでが1周期だったら、失ったはずのものは半月でなく四半月だったか。