コグノスケ


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

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

2008年12月17日

ぷち昇進へ

今週はずっと来年の昇進(?)のための資料作り&発表練習です。研究のプレゼンとか、カイシャのプレゼンってのはどうも苦手だなあ。

編集者:すずき(2008/12/25 02:35)

コメント一覧

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



2008年12月15日

アロニア

いつの話かわからんけどWikiのネタ帳にあったので、使ってみる。

いつぞや新幹線に乗ったときに蒟蒻畑のイチゴ味を買って食べてたのですが、原材料表示を見ると「りんご、いちご、アロニア果汁」とあります。

せっかくのイチゴ味なのにリンゴ果汁の方が多い(※)のか?という疑問もさることながら、アロニアって何!?という疑問で頭がいっぱいです。イチゴと関係ない変な植物?いや、そもそも植物?なんてことを想像しつつ、帰路を急ぎました。

家で調べてみるとなんてことはなくて、食用の果実でした。別名チョークベリー、味は渋みが強い(Wikipedia - アロニア属より)とのことです。生でみかけることはなさそうな果物です。

蒟蒻畑に入っているのもおそらく少量で、味に奥行きを出すために加えているのでしょうね。

(※)原材料表示では通常、製品のより多くを占める材料から順に書かれる。

編集者:すずき(2008/12/25 22:41)

コメント一覧

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



2008年12月13日

普段使わないから

再来週に控えたぷち昇進(?)のための資料作りとか、発表練習のおかげで、普段使わない頭の部分を使っている気がします。おかげでどっと疲れました。

というわけで今週末はのんびり…というかダラダラ。

編集者:すずき(2008/12/25 02:38)

コメント一覧

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



2008年12月11日

店内放送

だいぶ前の話です。店内放送で聞いたことある曲がかかっていたけれど、どうも曲名が思い出せない。NHKのふっるいシルクロード紹介番組で使っていたことも思い出せるのになあ。

なんて曲だっけなあ?と、もやもやしたまま家に着いてしまいました。気になって仕方なくて調べたら、喜多郎の「シルクロード」という曲でした。そのまんまじゃねーか…思い出すもくそもないね。

編集者:すずき(2008/12/25 22:17)

コメント一覧

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



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 この記事にコメントする



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

管理用メニュー

link 記事を新規作成

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

最近のコメント5件

  • link 20年6月19日
    すずきさん (04/06 22:54)
    「ディレクトリを予め作成しておけば良いです...」
  • link 20年6月19日
    斎藤さん (04/06 16:25)
    「「Preferencesというメニューか...」
  • 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の...」

最近の記事3件

  • link 24年4月17日
    すずき (04/18 22:44)
    「[VSCodeとMarkdownとPlantUMLのローカルサーバー] 目次: LinuxVSCodeのPlantUML Ex...」
  • link 23年4月10日
    すずき (04/18 22:30)
    「[Linux - まとめリンク] 目次: Linuxカーネル、ドライバ関連。Linuxのstruct pageって何?Linu...」
  • link 20年2月22日
    すずき (04/17 02:22)
    「[Zephyr - まとめリンク] 目次: Zephyr導入、ブート周りHello! Zephyr OS!!Hello! Ze...」
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

最終更新: 04/18 22:44