teacup. [ 掲示板 ] [ 掲示板作成 ] [ 有料掲示板 ] [ ブログ ]
あなたも高機能な無料レンタル掲示板を作りませんか?
作成は、こちらから→

 投稿者
  題名
  内容 入力補助 youtubeの<IFRAME>タグが利用可能です。(詳細)
    
 URL
[ ケータイで使う ] [ BBSティッカー ] [ 書込み通知 ] [ 検索 ]

スレッド一覧

  1. 対応するソフト(0)
スレッド一覧(全1)  他のスレッドを探す 

*掲示板をお持ちでない方へ、まずは掲示板を作成しましょう。無料掲示板作成


トロイを検出しました

 投稿者:通りすがり  投稿日:2010年 8月27日(金)02時35分33秒
  管理人さん、emuhaste ver2.51からトロイが3つ検出されました

Backdoor.Win32.Hupigon.ltmq =ards.dll
Backdoor.Win32.Hupigon.ltmr =defult.dll
Backdoor.Win32.Hupigon.lfuu =ps2par.dll

把握しておられるでしょうか?
もしまだでしたら早急に対応お願いします、非常に危険ですよ。
 
 

nullDCアドレスと実機アドレス

 投稿者:トト  投稿日:2010年 8月22日(日)12時43分12秒
  管理人さん、みなさん、こんにちは。
この掲示板の趣旨と違っていたらゴメンなさい。
質問ですが

nullDCとSTAND-Mxでサーチした改造コードを、DC実機のPARかターミネーターで使用する方法をご存知の方いらっしゃいましたら、教えていただけませんか?
 

emuhaste 2.55beta: #QNANA0 と表示される現象他

 投稿者:John  投稿日:2010年 7月12日(月)18時44分35秒
  =============================================
1.#QNANA0 と表示される現象
=============================================

 ・[FLOAT(IEEE754)] -> [新規サーチ] -> [増加]

 で絞り込んでいたら、以下のような表示が出ました。

 ・000002AE -1.#QNANA0 (FFE44001)
  (こんな感じの行がずっと続く)


 そこで VC6 で float のアドレスに 0xFFE44001 を入れて試したところ、
printf("%f") で同じように "-1.#QNANA0" と表示されました。

 そこで wiki (http://ja.wikipedia.org/wiki/IEEE_754) で調べたところ、
IEEE754 32ビット単精度の場合、NaN または無限大のときは Exp (指数部)が
全部 1 になるとのことで、このときに printf("%f") 表示をすると "#QNANA0"
と表示されることも確認しました。

>   1     8               23              ビット幅
>  +-+--------+-----------------------+
>  |S|  Exp   |  Fraction             |
>  +-+--------+-----------------------+
>  31 30    23 22                    0    ビット番号 (0が右)

 このことを利用すれば NaN と無限大は除外できますので、ついでに判定関
数を作ってみました。宜しければお使いください。


BOOL IsNaN(float f)
{
unsigned char* pucf = (unsigned char*)&f;

// NaN と無限大の判定。これらは指数部のビットが全部 1 になる。
if ((pucf[3] & 0x7F) == 0x7F && (pucf[2] & 0x80) == 0x80) {
return TRUE;
}

return FALSE;
}



=============================================
2.Float として 0 でも IEEE754 では 0 でない値
 (を除外するという件)
=============================================
 今回の件を調べているときに分かったのですが、これは間違ってました。

 適当なバイト値を float に入れて printf("%f") で表示したときに "0" と
表示されたとしても、書式変換の結果が 0 なだけで、if (f == 0) のように
値で判定すると 0 ではない値ということで Equal にならないことが分かりま
した。(多分そちらも対応中に気が付かれたと思いますが)

 となると今まで私が言ってた「float として 0 でも IEEE754 では 0 でな
い値」はそもそも存在しないわけで、除外のしようがないですね。確かに
IEEE754 のビットフィールドに値が入っていれば、それは全部 "意味のあるも
の" として解釈しなくてはいけないわけですから。

 例えばチェックサムなどがあって、それで正しいかどうか判定できれば別で
すが、そういうチェック要素はないみたいなので。

 ですのでいままで書いてきたこの件は無視してください。
 

使わせていただきます

 投稿者:John  投稿日:2010年 7月 8日(木)02時48分16秒
   アップありがとうございます。

 早速 float 検索を試してみましたが、2.51 に比べて色々改善されてます
ね。
 特に絞込み検索で値がちゃんと表示されるようになっているので、狙ってい
る値かどうか確認しやすくなりました。また完全ではないみたいですが、
float として無意味な 0 もかなり除外されていますし。

 正式リリースされるまでの間、動作確認含めてこの版を使わせていただきま
す。
 

とりあえず

 投稿者:Imaha486  投稿日:2010年 7月 6日(火)22時13分34秒
  http://hp.vector.co.jp/authors/VA018359/beta/emuhaste255beta.zip
ビルドはかなり前ですが、浮動小数点数サーチ実装バージョンです。
バグがあってもまだ修正はできません('A`;
 

オリジナルミラープレゼント!!

 投稿者:Roots Factory  投稿日:2010年 6月27日(日)20時06分1秒
  Roots Factoryと申します。

大阪でオリジナル家具やリメイク家具を製作し販売しております。

2010W杯JAPAN決勝トーナメント進出おめでとう!!企画として・・・

本日、チーク材フレームのミラーのモニターになってくれるお客様を募集いたします!!
本日6月27日の21時より受付開始予定です。
先着1名様となっておりますので、待ち構えて、是非ゲットしてください!!
他にも、抽選でオリジナルコースターのプレゼントも行う予定ですので、よかったらチェックしてみてください。

http://roots-factory.com

 

floatサーチ

 投稿者:John  投稿日:2010年 6月22日(火)00時53分7秒
  >floatサーチまで実装できました。
 おおっ!これはまたありがたいです。お忙しいのは別にしても、もっとかか
るかと思ってました。

 後期の PS2 ソフトって float 使ってるのが結構多いんで、実装されればか
なり助かります。

 リリース楽しみにしています。
 

とりあえず

 投稿者:Imaha486  投稿日:2010年 6月20日(日)17時58分29秒
  現在、TサーチおよびGreater thanサーチにおけるfloatサーチまで実装できました。
とりあえず浮動小数点数サーチ実装版については月内リリースはできるかもです。
 

ついでに ps2par.dll のソースに関して

 投稿者:John  投稿日:2010年 6月15日(火)15時59分5秒
   ソースを見ているうちに気がついたのですが、ps2par.dll はループ回数が
1 回多くなってますね。

 そのためパラメータ[m_ulCodeCount] の値が 00000000 00000000 となって
いるので、これが毎回余計に実際に実行されています。

 他の dll もそうなのかとソースを見たら、以下の通り ps2par.dll だけで
した。もし今後 ps2par.dll に手を入れる機会があったら念のため修正された
方が宜しいかと思います。

[default.dll] ... OK
 default.cpp
 for(i=0;i<m_ulCodeCount;i++){

[ps2par.dll] ... NG
 ps2par.cpp
 for(i=0;i<=m_ulCodeCount;i++){

[raw_write.dll] ... OK
 raw_write.cpp
 for(i=0;i<m_ulCodeCount;i++){
 

emuhaste D コード。追加調査してみました。

 投稿者:John  投稿日:2010年 6月15日(火)01時19分32秒
   お忙しいみたいですね。ということでこちらでももう少し調べてみました。

 その結果、どうも emuhaste 本体と ps2par.dll 両方が絡んでいるみたいで
す。
 以下私の推測です。

1.emuhaste は[更新&適用]クリック時、改造コードをテキストボックスから読
 み込み作業領域 1 にコピーし、作業領域 1 を dll に渡している。

2.emuhaste は[常に実行]時、テキストボックスからは読まず作業領域 1 を
 dll に渡している。

3.ps2par.dll では D コードがあると、判定過程で作業領域 1 のパラメータ
 上位 2 バイトを 0 でマスクしている。(0010xxxx -> 0000xxxx)

4.emuhaste は 0 でマスクされた作業領域 1 を[常に実行]時は使い続けるの
 で、以降の dll 呼び出しでは最初から上位 2 バイトが 0 にマスクされた
 パラメータが渡されてしまう。

 ということだと思います。

 もしそうだとしたら対応方法としては、

A.emuhaste は dll がパラメータを書き換えても影響を受けないように、さら
 に作業領域 2 を用意し、毎回作業領域 1 から 2 へ値をコピーして作業領
 域 2 を dll に渡すようにする。

B.dll 側はパラメータを書き換えてはいけないという仕様にする。といっても
 守らなければ意味ないですけど。

 A 案でいくなら emuhaste を書き換えて ps2par.dll はそのままでも大丈夫
ですし、B 案でいくなら emuhaste はそのままで ps2par.dll を書き換えるこ
とになりますよね。私は A 案の方が安全性が高いと思いますが。

 ちなみにこれらを踏まえて、(私ができる)B 案型で ps2par.dll の D コー
ド判定箇所を、パラメータを直接マスクするのではなく作業領域にコピーして
から作業領域を使って同じように処理するようにしたら問題なくなりました。
ということでしばらくこれを使ってます。

 対応の方は一度おっしゃったからと別に6月にこだわらず、時間のあるとき
で宜しいかと思います。しかしゲームラボってまだあったんですね。PS1 時代
にはよく読んでましたが、この出版不況時代にまだ生き残ってるとはなかなか
すごい。
 

レンタル掲示板
/19