5ちゃんねる用ブラウ ..
[2ch|▼Menu]
995:名無しさん@お腹いっぱい。
22/08/27 15:51:25.16 45oAUBkl0.net
いや簡単じゃ無いわ。。55 8B EC 83 EC いっぱいあるから特定難しい。。

996:名無しさん@お腹いっぱい。
22/08/27 15:56:58.41 Gv6m6h2n0.net
あどなっし使えばいいじゃん

997:名無しさん@お腹いっぱい。
22/08/27 16:07:42.57 45oAUBkl0.net
>>984
広告消したい訳じゃ無いんですよね
リソースハッカーで部品置き換えたりバイナリ書き換えで動作変えたりといった
「改造ネタ」が好きってだけの好奇心です

998:名無しさん@お腹いっぱい。
22/08/27 16:51:15.26 tUT0Aj0H0.net
>>981
たとえばバイナリを逆アセンブルすると
1.52
00026EFF E9 AC 50 11 00 → JMP 0013BFB0h
1.57
00027417 E9 44 53 11 00 → JMP 0013C760h
1.58
000272F7 E9 34 57 11 00 → JMP 0013CA30h
みたいに相対値から算出された実際のアドレスで表示されるから
あとはそれに対して広告処理のアドレスで検索を掛ければ…

999:名無しさん@お腹いっぱい。
22/08/27 17:20:01.14 KsL83OlY0.net
>>981
<ヒント>
広告処理とはつまり
URLリンク(tkssp.com)
の画像を表示する処理

1000:名無しさん@お腹いっぱい。
22/08/27 18:19:15.92 45oAUBkl0.net
>>987
1.59 だと 0x000322FC にURLを見付けました
単純な文字列検索では見付けられずStirling目視で。。
これを読んでる先を逆アセってやつで探す感じでしょうか
逆アセの方はまださっぱりですが

1001:名無しさん@お腹いっぱい。
22/08/27 18:40:59.04 tUT0Aj0H0.net
>>988 文字コードは一部の例外を除いて基本的にUTF16なので Stringで検索する時もキャラクターセットをUnicodeに指定しておけば 普通に検索できますよ 1.52だと0x000318ECにURLがありますが exeがメモリ上にロードされる位置は0x0040000なので メモリ上での実際のアドレスは0x004318ECになります 例えばこのアドレスのバイナリ列「EC 18 43 00」を検索すれば URL文字列を参照しているコードが見つかる訳です



1003:名無しさん@お腹いっぱい。
22/08/27 18:48:48.23 tUT0Aj0H0.net
0がいっこ少なかった
× 0x0040000
〇 0x00400000

1004:名無しさん@お腹いっぱい。
22/08/27 20:04:38.08 8t5scH9t0.net
>>939
ありがとうございます。感謝です
そんなとこにあるとは気が付かなかった・・・

1005:名無しさん@お腹いっぱい。
22/08/27 20:11:24.15 45oAUBkl0.net
>>989
ありがとうございます。自分でも出来そうな気になって来ました
①文字コード:Unicode で URLリンク(tkssp.com) を検索 (1.52: 0x000318EC)
②0x00400000 + ①のアドレス (1.52: 0x004318EC) をリトルエンディアンにしたバイナリ値 (1.52: EC 18 43 00) で検索 (1.52だと5箇所ヒット)
③検索2個目、或いは 0x0013**** 辺りで ヒットした箇所の直ぐ上辺りで バイナリ値"90"が連続した直後に "55 8B EC 83 EC 0C 68" が広告処理のアドレス
④そこにJMPを示している"E9"から続く相対アドレスのバイナリ値を E9含め3Byte "C20800" で上書き
と覚えました
広告処理かどうかを読むのとそこへの相対アドレスを知るには逆アセのソフトと知識が必要なようですね
でもコレだけでも、大きく変わったりしなければ十分に特定出来るかも?

1006:名無しさん@お腹いっぱい。
22/08/27 20:26:23.40 Xcl8JO390.net
>>986の説明を読み返して後から気づいたけど
> 1.52
> 00026EFF E9 AC 50 11 00 → JMP 0013BFB0h
とかは0x00400000を考慮していなかったので、正確には
1.52
00426EFF E9 AC 50 11 00 → JMP 0053BFB0h
って書くべき内容でした

>>992
実際の処理の全体の流れでいうと
(1)0046EFFF

1007:名無しさん@お腹いっぱい。
22/08/27 20:27:00.35 Xcl8JO390.net
失礼、ゴミがついてしまった

1008:名無しさん@お腹いっぱい。
22/08/27 20:29:13.54 Yi8+9UQZ0.net
エンデアンうそつかない

1009:名無しさん@お腹いっぱい。
22/08/27 20:39:44.85 Xcl8JO390.net
>>992
実際にメインルーチンから広告処理ルーチンから呼ぶ時の流れでいうと
メインルーチンから直接広告処理ルーチンを呼ばずに
(1)メインルーチンから広告処理(にジャンプするテーブル)をコール
(2)ジャンプテーブル(>>986)から広告処理ルーチンにジャンプ(E9******)
(3)広告処理ルーチン実行
(4)広告処理ルーチンの最後でメインルーチンにリターン(C20800)
って感じでVBの処理の都合で(2)がワンクッション間に挟まっています
でまぁ、ジャンプテーブルをリターン(C20800)に書き換える事によって
広告処理ルーチンにジャンプさせずにメインルーチンに戻るようにしてる訳ですが
ぶっちゃけジャンプテーブルを探すのが面倒であれば広告処理ルーチンの先頭を
リターン(C20800)に書き換えても処理は成り立ちます
ジャンプテーブルを書き換えた方が処理的にスマートなのと
潰した広告処理ルーチンを別の用途で再利用したい場合に少しでも広く使える
(たとえばUA文字列の置き場所にしたりとか)ので
こういう風にしているだけだったりします

1010:名無しさん@お腹いっぱい。
22/08/27 20:49:05.98 Gv6m6h2n0.net
いつまでもスレチなことしてないで次スレ立てろ馬鹿め

1011:名無しさん@お腹いっぱい。
22/08/27 20:57:37.73 OfUQIaW90.net
アイコンの変え方のほうがありがたいわw

1012:名無しさん@お腹いっぱい。
22/08/27 21:01:09.74 45oAUBkl0.net
>>996
ありがとうございます。
なるほど、 C20800 てリターンコードだったのですね
勉強になりました

1013:名無しさん@お腹いっぱい。
22/08/27 21:20:29.97 45oAUBkl0.net
次スレ
5ちゃんねる用ブラウザ「Live5ch」part164
スレリンク(software板)

1014:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 22日 6時間 3分 9秒

1015:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

269日前に更新/217 KB
担当:undef