コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2008年12月8日 >>> 2008年11月25日
link もっと後

2008年12月8日

ラテールのプロテクト

ラテールのゲームプロセスが見えるようになりました。解き方は書いたらまずそうなので書きません。スマートな方法でもないし…。

以前書き散らした通り、Gamepotプロテクトは比較的単純なrootkitです。具体的には以下のようにしてプロセスを隠蔽しています。

プロセスの一覧

Gamepot rootkit(以降GR)は簡単に言うと、プロセス一覧を取得するサービスコール(システムコール?)をフックし、ゲームプロセスが見えないように書き換えてしまう方法です。

カギとなるのはNtQuerySystemInformationです。NtQuerySystemInformationは様々な機能を持ちますが、その内の一つにプロセスの一覧を取得する機能があります。

プロセス一覧を取得する際、NtQuerySystemInformationは以下の構造体の配列を返します。


SYSTEM_QUERY_INFORMATION構造体

先頭のNextEntryOffsetはプロセス情報のサイズをバイト単位で表します。現在のプロセス情報のポインタにNextEntryOffsetだけ足せば、次のプロセス情報の先頭を指す、という寸法です。
最後のプロセス情報のNextEntryOffsetには0が入っているので、区別できます。


SYSTEM_QUERY_INFORMATION *pinfo;

while (pinfo) {
    //何かしらの処理をする
    ...
    
    if (pinfo->NextEntryOffset) {
        pinfo = (SYSTEM_QUERY_INFORMATION *)((unsigned char *)pinfo + pinfo->NextEntryOffset);
    } else {
        pinfo = NULL;
    }
}

なぜこんな面倒な方法をとるかというと、プロセス情報のサイズが不定だからです。プロセス情報はスレッド情報を含んでおり、スレッド情報の要素数はプロセスが持つスレッド数によって増減するためです。

rootkitによるプロセスの隠蔽

GRはシステムコールテーブル(※)を書き換え、NtQuerySystemInformationをフックします。

NtQuerySystemInformationが呼ばれてプロセス一覧が取得されるときに、ゲームプロセスの前に位置している要素を書き換えることで、ゲームプロセスを隠蔽します。下図を参照ください。


NtSystemQueryInformationのフックと書き換え

オレンジ色のNextEntryOffsetを、プロセス情報2つ分(書き換え対象のプロセス情報と、GRが隠したいプロセス情報)のサイズに改竄します。

改竄された情報を用いて、プロセス情報を先頭から処理しようとすると、白抜きしたプロセス(ゲームプロセス)が飛ばされ、認識できなくなります。

つまりGRによってプロセスが隠蔽されてしまったのです。

(※)WindowsではSystem Service Descriptor Table(SSDT) と呼ばれています。

弱点

しかしカーネル内のプロセス構造体はそのままなので、プロセスIDを直撃ちして、OpenProcessすると成功してしまいます。とはいえ、ユーザ空間から隠されたプロセスIDを知る方法はないので、メモリを書き換えてくるようなプロセスから身を守るにはこのくらいの機能で十分かもしれません。

編集者:すずき(2008/12/09 00:55)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年12月7日

うまい焼き肉

Sena氏と屋台焼肉 山一商店(高槻市富田町)に行きました。新潟の和牛を惜しげも無く出してくる店です。

ただ、店舗の入り口や看板はまるで学生向けの定食屋といった作りで、高級肉が出てくる焼き肉屋には見えません。見た目で損してますね。

肉の等級はA4〜A5だそうです。極上五種盛りを頼んだところ、全部が霜降り肉でした。焼けばトロットロです。岩塩につけて食べれば…こ、これはうまい…。ごはんもすすむ。

気になるお値段はピンキリですけど、さきほどの極上五種盛り(霜降りの極上部位を5種、2〜3人前)で5,500円です。むちゃくちゃしなければ5,000円でかなり贅沢できます。おすすめ。

編集者:すずき(2008/12/09 00:02)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年12月6日

問屋街

同期の皆さんで問屋街へ買い物に行きました。大下さんも連れて行きました。

今日の目的は大下さんへのクリスマスプレゼントを買うことなんですが、せっかく送る相手が目の前に居るので、最後は本人に選んでもらいました。

朝から夕方くらいまで歩くとどうも疲れてしまう…。ウインドーショッピングは私には向いてない…。

飲み会ならぬ食べ会

その後は美食酒家ちゃんと(大阪市北区)にて飲み会をしました。この季節は鍋がいいねー。

最後に全員でコンタクトを探すというハプニングもありました。映画やドラマで「コンタクトレンズを落としたから動かないで!」という状況を見かけますが、実際に遭遇したのは初めてです。

無事見つかったので良かったです。踏んでたらなんて謝ろうか…ってちょっとドキドキしました。

編集者:すずき(2008/12/08 23:46)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年12月5日

めがねめがね

風呂(寮の風呂は共同の大浴場)に入って部屋に戻ってきたら、めがねが無くなっていることに気がついた。

風呂場に確認しに戻ってみるも見つからず。とほほ…。

編集者:すずき(2008/12/08 21:36)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年12月3日

どっちもどっち

ラテールのキャラクターがLv.40になりました。スキルが2段階目から3段階目に上がり、コンボが繋がるようになって楽しいです。しかし次の段階はLv.60…遠い…。

このラテールですが、我が家に2台あるPCではどちらも微妙に性能が足りません。画面がガクガクしてます。

デスクトップPCはCPUやグラフィックス性能は十分だけども、メモリが足りなくてゲームがガクガクします。

ノートPCはメモリは十分だけども、CPUやグラフィックス性能が足りなくてやっぱりゲームがガクガクします。

さっさと新しいPCを作りなさいという思し召しなのかもしれないなあ。最近AMD一直線だったから、次はCore2 Quadにしてみようかしら。省エネ万歳。

編集者:すずき(2008/12/08 19:55)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年11月30日

じーざす!

寮に帰って来たら、机の上にある電気スタンドがありえない角度で「こんにちは」してました。倒れてるのかと思って、ぐいっと持ち上げたら根本からズボッて取れた。ええー!


正しい角度

もともとは上記の写真のような佇まいです。写真を撮るために手で戻しました。

しかし完全に土台が壊れているため手を離せばすぐ下記のようになります。


悲しい角度

写真だとわかりませんが、ねじ止め先の台も、ねじ止めされていたプラ版も完全にへし折れています。何をどうやったらこんな風に壊れるのか知りたいところ。


中身が見えてます

この電灯はなんとなく昭和の香りがしますね。Google先生に聞いてみたけれど、そんな型番は知らんと言われてしまいましたよ…。

弁償しろときたか

電灯が壊れたこと自体は全く構わないのです。形ある物はいつか壊れます。

しかし困ったことに寮の対応が全くいけてないのです。

寮の管理人さんに「電気スタンドが壊れた。」と伝えたら「寮の備品を壊したことになるので、弁償してください。」って言われました。何?弁償とな??

こんなんどう見ても経年劣化でしょう…。本日一番ありえないと思った瞬間でしたよ…。

編集者:すずき(2008/12/08 20:40)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年11月28日

陸ルータ

このタイトル(↑)は携帯で「りくるーた」を変換したら出てきました。なぜ「りく」で切るのやら?

それはさておき今年も筑波大学のリクルータになりました。ビッグサイトで開かれるでっかい就活セミナーにもお呼ばれしたので参加してきます。

今はまだ研究室に知り合いが居るから良いけれど、4〜5年も経てば大学訪問しても知り合いは居ないんだろうなあ。寂しくなりますね。

編集者:すずき(2008/12/08 20:03)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年11月27日

東京へ

東京へ出張しました。自分がやるべきことはやったと思う…。

新幹線に乗るといつも思いますが、イスの手すりが狭くて隣の人と肘がぶつかるのはどうにかならんのでしょうか。手すりを太くするには、通路を狭くする、イスを狭くする、車体を広げる…のどれかをしなければなりませんが、どれもできなさそうです。

同じ太さのままなんとかする方法を考えてみます。

普通の肘当てはロの字なので、両側から肘を置くとぶつかるわけです。ならば凸の字にして、両側から肘が置けるようにしたらどうでしょう。

三列シートなら、
ロ(席)凸(席)凸(席)ロ
こんな感じ(前から見た図)です。

問題は一人あたりの肘当ての面積が今の半分になるんで、細すぎるぞって怒る人が出てくるってことかなあ。凸の字肘置き、JRが試してくれんかなー。

編集者:すずき(2008/11/28 00:43)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2008年12月8日 >>> 2008年11月25日
link もっと後

管理用メニュー

link 記事を新規作成

<2008>
<<<12>>>
-123456
78910111213
14151617181920
21222324252627
28293031---

最近のコメント5件

  • link 21年3月13日
    すずきさん (03/05 15:13)
    「あー、このプログラムがまずいんですね。ご...」
  • link 21年3月13日
    emkさん (03/05 12:44)
    「キャストでvolatileを外してアクセ...」
  • link 24年1月24日
    すずきさん (02/19 18:37)
    「簡単にできる方法はPowerShellの...」
  • link 24年1月24日
    KKKさん (02/19 02:30)
    「追伸です。\nネットで調べたらマイクロソ...」
  • link 24年1月24日
    KKKさん (02/19 02:25)
    「私もエラーで困ってます\n手動での回復パ...」

最近の記事3件

  • link 24年3月25日
    すずき (03/26 03:20)
    「[Might and Magic Book One TASのその後] 目次: Might and Magicファミコン版以前(...」
  • link 21年10月4日
    すずき (03/26 03:14)
    「[Might and Magicファミコン版 - まとめリンク] 目次: Might and Magicファミコン版TASに挑...」
  • link 24年3月19日
    すずき (03/20 02:52)
    「[モジュラージャックの規格] 古くは電話線で、今だとEthernetで良く見かけるモジュラージャックというコネクタとレセプタク...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 03/26 03:20