∧_∧
( ;´∀`) ドキドキ…
人 Y /
( ヽ し
(_)_)
まだまって。
わくわく。
>>906のように書き換えたら別のとこで正常終了したりするから不思議。
お待たせ。
>>902さん
実際にクラックを試されたので、
どういったタイプの対策かは見当がついていると思いますが、
実行ファイルを1バイトでも書き換えるとプログラムが動作しなくなる仕組みを
クラッカーからはわかりづらい(だろうと私が想像した)やりかたで組み込んであります。
実行ファイルの書き換えチェックなんてのは、ありふれた対策ですし、
こんなのは当然クラッカーによって、
チェックルーチン自体を無効化されることは容易に想像できます。
なので、チェックルーチンをはずすと、やはりプログラムが動かなくなる仕組みを、
これまたわかりづらいように組み込んであります。
多分、書き換えが行われたかどうかの判定部分だと考えて
>jne(75 xx)をjmp(EB xx)に変えたり
されたのでしょうが、この処理はプログラムにとって重要な判定なので
単に無効化しただけでは、プログラム自体がうまく動きません。
要するに、jneで比較している変数は、書き換えチェックフラグではありません。
※自分でこのプログラムをクラックして試したわけではありませんが、
多分、nopやjmpだけでは割れないと思います。
んで、私のアイデアってのは、
1.書き換えが行われたかどうかを知るのにフラグを使わない。
2.そもそも書き換えが行われたかどうかの判定コード自体が存在しない。
この2つの条件を満たしつつも、書き換えがあると
動かなくなるプログラムを作成する方法です。
が、どういう方法を使ったかは書きません。
なぜなら、やり方はいくつもあるからw
↑で終わったら怒られるから、
以下、そのようなプログラムを実現するための用件の一例を書きます。
1.実行ファイルの書き換えチェックに、ハッシュ関数を使うが
正しいハッシュ値を実行ファイル中に含ませない。
2.正しいハッシュ値をデータとして処理すると
うまい具合に動く仕組みで、かつ、プログラム自体に必要な処理(初期化処理とか)
を考える。当然、ハッシュが異なればエラーが起きる仕組みね。
3.プログラム実行時に自身のハッシュ値を取得し、2で考えた処理で使う。
書き換えられてると、普通にエラーが出るから終了する。
エラーを無視しても必要な処理が完了してないから、
プログラムはうまく動かない(゚д゚)ウマー!
流れとしては、誰もが考えるアイデアだと思う。
要は2の処理をどうするかってことだよね。
なるべく汎用的な処理にせんと他のソフトには使えませんってことになりかねん。
でも、ここは各自が、これぞと思う処理を実装するトコであって、
プロテクトかける面白いトコだから、俺がどーやったかはいいでしょw
ただ、これだけだとエラーが起きるところが2の処理だと簡単にばれちゃうんで、
ちょっと小細工して、エラーが時間差で発生するようにしてあります。
最後に、クラックの仕方だけど、2の処理がどこにあるのか突き止めて、
正しい場合の動きと、そうでないときの動きを解析して、
間違ってても正しく動くように書き換えれば終わり。
あとは好きな箇所を変更しほうだいになっちゃいます。
こんな感じでよろしかったでしょうか?
自身の実行ファイルをfopen(CreateFile)してるところで正しいファイルを読むように変更して、
MessageBoxを表示しているところにパッチを当てちゃうのが邪道だけど一番簡単かな。
CloneCDの日本語パッチあたりで採用していた手法だと思う。
>>925 あーなるほど。そうですね。それが一番簡単ですね。
今度、暇があったらその辺の回避策など考えてみたいと思います。
では、そろそろ名無しに戻ります。ノシ
その類のクラック対策って、初心者krackerには有効だと思うが…。
まあ、複雑にして組み合わせるとまた別だけどさ。
クラックできないものなんかないよ
asp型ですら海外じゃ鯖ごとハックされてるし。
オレのハートをクラックしてみろ
>>928 「俺の友達のスーパーハカーがクラックしてくれます」ですか?
君のような、他人に頼るレベルが自分でクラックできなければ対策は十分さ。
( ´,_ゝ`)プッ
!Kubotarをシェアにしろ。
究極のクラック対策。
933 :
名無しさん@お腹いっぱい。:04/09/11 10:24:55 ID:zz9cT9+U
定期age
保守
100個ほどの関数ポインタを用意して、
正しい初期値が与えられれば、
コマンド入力と関数との接続が正しくなり、
間違った初期値ならば、ランダムな接続になるのはロジックボムになる?
例えば、HDD初期化、ファイルを開く、ファイル削除のコマンドと関数があるとして、
ファイルを開く、のコマンドにHDD初期化が割り当てられても、
権限とか、引数がおかしい等の問題で普通は実行されない。
が、ファイルを開く、のコマンドにファイル削除の関数ポインタが割り当てられると、
引数に正当性がある場合がほとんどなので、誤ってファイルが削除される。
んで、バグがあると正しいシリアルでも誤爆するようになると。
>>936 そのへんは、初期化の際にチェックルーチンでも仕込んで、
怪しい箇所が一箇所でもあれば、ダイアログだすなりして、プログラム終了を促せばいい。
チェックルーチンをスルーするようにバイナリを書き換えた場合は、こちらの責任にはならないだろ。
だから、ロジックボム系は損害賠償請求されるっつうの。
過去ログ嫁。
>>938 ロジックボムを仕込まずに単にプログラム終了は?
>>939 いきなりHDDの完全スキャンを始めればいい!
嫌がらせだw
やはりアセンブラでトリッキーなコードでもかくか。
HDDにあるデータを消すのではなく、巨大なデータを勝手に作り出してしまえ
「セキュリティ機能付」として、1バイトも余すことなく書き込んでしまえ
ディスクに空きがないという事態に対応できてないヘボソフトが落ちて、
ウィルス入りだのロジックボムだの言われる予感。
自ソフトのウィンドウを恥ずかしい写真のスキンにするとか
自ソフトのメニューを恥ずかしい文字列にするとか
自ソフトの効果音を恥ずかしい音声にするとか
>945-946
で、それをレジストせずに元に戻される(正常にする)のをどうやって避けるかを考えるのがこのスレの議題。
「より多くの人にレジストしてもらうには〜」ではなく「クラックされないためには〜」なのでよろしく。
レジストせずに起動すると自分自身の容量が倍になるとか
正常に機能しているかどうかわかりにくくすればいいんだよ。
例えばメモリー最適化機能なら、不正シリアルだと加減算繰り返すだけとかw
某ソフトみたいだなw
なつかしすぎ
>>900から良スレ化してる大器晩成スレはここですか?
海外のCDR焼きソフトで、不正シリアルいれると
コースターが焼きあがるってのがあったな
ハイソサエティなアメリカンジョークのスレはここですか
>955
そうそう、一見正常終了するからタチが悪いw
957 :
名無しさん@お腹いっぱい。:04/10/19 16:26:55 ID:V3VKlDoE
DateCracker2000でクラックできるソフトってあるの?
昔のソフト
>956
当時はCDRメディアが1枚1000円くらいしたから、ダメージがでかかったw
960 :
名無しさん@お腹いっぱい。:04/10/26 04:30:23 ID:kxyz9o/k
実際、対クラック用にロジックボム組み込んで、損害賠償請求裁判おこされた例なんてあるのか?
ロジックボムかどうか気が付かないようなのは面白くないか
適当なファイルを読み込んで少しランダムに書き換える
だんだん不安定になるシステムw
>>961 自分のプログラム作ったファイルなら問題ないはず。
>>961 書き換えの時点で気付く人間は気付くだろ。
レジストリに無駄キーをどんどん増やしていくとか
965 :
名無しさん@お腹いっぱい。:04/10/26 11:47:41 ID:Dl87HoPG
実行ファイルのチェックサム調べて異常があれば破壊工作でいいんじゃねーの。
訴えられても、そのアプリケーションは私が配布しているものとは違いますと言って
知らぬ存ぜぬ。
アプリケーション改変されたものの動作は保証する必要ないだろ。
966 :
名無しさん@お腹いっぱい。:04/10/26 20:03:49 ID:5POry2x2
次スレ誰かたてて
いらんだろ