ラテールのゲームプロセスが見えるようになりました。解き方は書いたらまずそうなので書きません。スマートな方法でもないし…。
以前書き散らした通り、Gamepotプロテクトは比較的単純なrootkitです。具体的には以下のようにしてプロセスを隠蔽しています。
Gamepot rootkit(以降GR)は簡単に言うと、プロセス一覧を取得するサービスコール(システムコール?)をフックし、ゲームプロセスが見えないように書き換えてしまう方法です。
カギとなるのはNtQuerySystemInformationです。NtQuerySystemInformationは様々な機能を持ちますが、その内の一つにプロセスの一覧を取得する機能があります。
プロセス一覧を取得する際、NtQuerySystemInformationは以下の構造体の配列を返します。
先頭の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;
    }
}
なぜこんな面倒な方法をとるかというと、プロセス情報のサイズが不定だからです。プロセス情報はスレッド情報を含んでおり、スレッド情報の要素数はプロセスが持つスレッド数によって増減するためです。
GRはシステムコールテーブル(※)を書き換え、NtQuerySystemInformationをフックします。
NtQuerySystemInformationが呼ばれてプロセス一覧が取得されるときに、ゲームプロセスの前に位置している要素を書き換えることで、ゲームプロセスを隠蔽します。下図を参照ください。

NtSystemQueryInformationのフックと書き換え
オレンジ色のNextEntryOffsetを、プロセス情報2つ分(書き換え対象のプロセス情報と、GRが隠したいプロセス情報)のサイズに改竄します。
改竄された情報を用いて、プロセス情報を先頭から処理しようとすると、白抜きしたプロセス(ゲームプロセス)が飛ばされ、認識できなくなります。
つまりGRによってプロセスが隠蔽されてしまったのです。
(※)WindowsではSystem Service Descriptor Table(SSDT) と呼ばれています。
しかしカーネル内のプロセス構造体はそのままなので、プロセスIDを直撃ちして、OpenProcessすると成功してしまいます。とはいえ、ユーザ空間から隠されたプロセスIDを知る方法はないので、メモリを書き換えてくるようなプロセスから身を守るにはこのくらいの機能で十分かもしれません。
 この記事にコメントする
 この記事にコメントする
Sena氏と屋台焼肉 山一商店(高槻市富田町)に行きました。新潟の和牛を惜しげも無く出してくる店です。
ただ、店舗の入り口や看板はまるで学生向けの定食屋といった作りで、高級肉が出てくる焼き肉屋には見えません。見た目で損してますね。
肉の等級はA4〜A5だそうです。極上五種盛りを頼んだところ、全部が霜降り肉でした。焼けばトロットロです。岩塩につけて食べれば…こ、これはうまい…。ごはんもすすむ。
気になるお値段はピンキリですけど、さきほどの極上五種盛り(霜降りの極上部位を5種、2〜3人前)で5,500円です。むちゃくちゃしなければ5,000円でかなり贅沢できます。おすすめ。
 この記事にコメントする
 この記事にコメントする
同期の皆さんで問屋街へ買い物に行きました。大下さんも連れて行きました。
今日の目的は大下さんへのクリスマスプレゼントを買うことなんですが、せっかく送る相手が目の前に居るので、最後は本人に選んでもらいました。
朝から夕方くらいまで歩くとどうも疲れてしまう…。ウインドーショッピングは私には向いてない…。
その後は美食酒家ちゃんと(大阪市北区)にて飲み会をしました。この季節は鍋がいいねー。
最後に全員でコンタクトを探すというハプニングもありました。映画やドラマで「コンタクトレンズを落としたから動かないで!」という状況を見かけますが、実際に遭遇したのは初めてです。
無事見つかったので良かったです。踏んでたらなんて謝ろうか…ってちょっとドキドキしました。
 この記事にコメントする
 この記事にコメントする
風呂(寮の風呂は共同の大浴場)に入って部屋に戻ってきたら、めがねが無くなっていることに気がついた。
風呂場に確認しに戻ってみるも見つからず。とほほ…。
 この記事にコメントする
 この記事にコメントする
ラテールのキャラクターがLv.40になりました。スキルが2段階目から3段階目に上がり、コンボが繋がるようになって楽しいです。しかし次の段階はLv.60…遠い…。
このラテールですが、我が家に2台あるPCではどちらも微妙に性能が足りません。画面がガクガクしてます。
デスクトップPCはCPUやグラフィックス性能は十分だけども、メモリが足りなくてゲームがガクガクします。
ノートPCはメモリは十分だけども、CPUやグラフィックス性能が足りなくてやっぱりゲームがガクガクします。
さっさと新しいPCを作りなさいという思し召しなのかもしれないなあ。最近AMD一直線だったから、次はCore2 Quadにしてみようかしら。省エネ万歳。
 この記事にコメントする
 この記事にコメントする
寮に帰って来たら、机の上にある電気スタンドがありえない角度で「こんにちは」してました。倒れてるのかと思って、ぐいっと持ち上げたら根本からズボッて取れた。ええー!
もともとは上記の写真のような佇まいです。写真を撮るために手で戻しました。
しかし完全に土台が壊れているため手を離せばすぐ下記のようになります。
写真だとわかりませんが、ねじ止め先の台も、ねじ止めされていたプラ版も完全にへし折れています。何をどうやったらこんな風に壊れるのか知りたいところ。
この電灯はなんとなく昭和の香りがしますね。Google先生に聞いてみたけれど、そんな型番は知らんと言われてしまいましたよ…。
電灯が壊れたこと自体は全く構わないのです。形ある物はいつか壊れます。
しかし困ったことに寮の対応が全くいけてないのです。
寮の管理人さんに「電気スタンドが壊れた。」と伝えたら「寮の備品を壊したことになるので、弁償してください。」って言われました。何?弁償とな??
こんなんどう見ても経年劣化でしょう…。本日一番ありえないと思った瞬間でしたよ…。
 この記事にコメントする
 この記事にコメントする
このタイトル(↑)は携帯で「りくるーた」を変換したら出てきました。なぜ「りく」で切るのやら?
それはさておき今年も筑波大学のリクルータになりました。ビッグサイトで開かれるでっかい就活セミナーにもお呼ばれしたので参加してきます。
今はまだ研究室に知り合いが居るから良いけれど、4〜5年も経てば大学訪問しても知り合いは居ないんだろうなあ。寂しくなりますね。
 この記事にコメントする
 この記事にコメントする
東京へ出張しました。自分がやるべきことはやったと思う…。
新幹線に乗るといつも思いますが、イスの手すりが狭くて隣の人と肘がぶつかるのはどうにかならんのでしょうか。手すりを太くするには、通路を狭くする、イスを狭くする、車体を広げる…のどれかをしなければなりませんが、どれもできなさそうです。
同じ太さのままなんとかする方法を考えてみます。
普通の肘当てはロの字なので、両側から肘を置くとぶつかるわけです。ならば凸の字にして、両側から肘が置けるようにしたらどうでしょう。
三列シートなら、
ロ(席)凸(席)凸(席)ロ
こんな感じ(前から見た図)です。
問題は一人あたりの肘当ての面積が今の半分になるんで、細すぎるぞって怒る人が出てくるってことかなあ。凸の字肘置き、JRが試してくれんかなー。
 この記事にコメントする
 この記事にコメントする
| < | 2008 | > | ||||
| << | < | 12 | > | >> | ||
| 日 | 月 | 火 | 水 | 木 | 金 | 土 | 
| - | 1 | 2 | 3 | 4 | 5 | 6 | 
| 7 | 8 | 9 | 10 | 11 | 12 | 13 | 
| 14 | 15 | 16 | 17 | 18 | 19 | 20 | 
| 21 | 22 | 23 | 24 | 25 | 26 | 27 | 
| 28 | 29 | 30 | 31 | - | - | - | 
 25年10月27日
 25年10月27日
 23年4月10日
 23年4月10日
 25年10月15日
 25年10月15日
 25年10月18日
 25年10月18日
 22年5月5日
 22年5月5日
 25年10月19日
 25年10月19日
 23年4月11日
 23年4月11日
 06年4月22日
 06年4月22日
 25年10月17日
 25年10月17日
 25年10月6日
 25年10月6日
 25年10月13日
 25年10月13日
 20年10月23日
 20年10月23日
 25年10月12日
 25年10月12日
 20年8月29日
 20年8月29日
 19年1月13日
 19年1月13日
 18年10月13日
 18年10月13日
 18年9月3日
 18年9月3日
 18年8月20日
 18年8月20日
 18年7月23日
 18年7月23日
 18年7月22日
 18年7月22日
 wiki
 wiki Linux JM
 Linux JM Java API
 Java API 2002年
 2002年 2003年
 2003年 2004年
 2004年 2005年
 2005年 2006年
 2006年 2007年
 2007年 2008年
 2008年 2009年
 2009年 2010年
 2010年 2011年
 2011年 2012年
 2012年 2013年
 2013年 2014年
 2014年 2015年
 2015年 2016年
 2016年 2017年
 2017年 2018年
 2018年 2019年
 2019年 2020年
 2020年 2021年
 2021年 2022年
 2022年 2023年
 2023年 2024年
 2024年 2025年
 2025年 過去日記について
 過去日記について アクセス統計
 アクセス統計 サーバ一覧
 サーバ一覧 サイトの情報
 サイトの情報合計: 
本日: