制作日記

こういうの作った方が、逃げにくいじゃない

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

擬似乱数の生成式

大分前に記事にしてるんだけどなー

ちなみに、操作の話だけど、
4B4BE0を適当な小さな値に書き換えて、
それで落ちなければ、一発目の種が1になる

起動時にtlAlloc()を叩いてて、戻り値のtlsIndexを4B4BE0に保存してる
このtlsIndexでtlsGetValu()とかtlsSetValue()を呼び出してる

で、tlsGetvalue()でnullが帰ってきたら、領域確保してtlsSetValue()叩く
このとき、種の位置、オフセット+0x14が1に初期化されてる
アドレス的には0x004988ACからの処理

まー、そもそもtlsAlloc()とかってなんやねんって話で、
TLS、スレッドローカルストレージ
スレッドごとに値を保存する用の領域やね

tlsAlloc()で確保してindexを取得
そのindexを元に値を設定したり、取得したりするわけ

今現在の種はそこに記録されてるから、
キャラから、そのスレッド毎の値を管理してるとこにアクセスする必要があるわけだ
まー、出来ないわけではないけど、環境依存せずにってなると、コードからやりたいね

最初に書いた4B4BE0変えるってのは、allocしてないindex触りに行くってこと
まー、どうなるかわからんね

setが成功してるのが怖い
windowsはあんまり知らんから何とも言えんけど、
デフォである程度確保してるとかかねー

実験で色々やるだけなら、直でバイナリとか書き換えれば済む話だけどね

コメントの投稿

非公開コメント

プロフィール

Author:drab
霊夢改変キャラ
「12 3 ! {V} [_]」
公開中
L霊夢でもl_reimuでも好きなように読んでください

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。