トリッキーなコード その2
■ このスレッドは過去ログ倉庫に格納されています
0596デフォルトの名無しさん
NGNGどうでもいいがVS.NETは結構重い気がする。
昔どこかのスレで見たんだけれど、調べてみたけれどどこかわからなかった。
間違いなく倉庫に行っているとは思うんだけれど、作者の人パクってすまん。
VC++のみでしか使えないのが残念だが、Windowsでのアンチデバッグコード。
デバッグ状態で実行すると異常終了するように出来ている。
bool flag=true;
__try {
__try {
DebugBreak();
}
__except(GetExceptionCode() == STATUS_BREAKPOINT) {
flag = false;
}
}
__finally {
if(flag) exit(EXIT_FAILURE);
}
// normally execution
これでも十分きついが、さらにわかりにくくするためには
一見何気ないコードの中に動的ランダムにint 3hを入れることにより
ブレークポイント例外を飛ばせばいいんじゃないだろうか。
自分がクラックするときのことを考えると本気で萎えそう。
ちょっと有用なトリッキーコードでした。
今度はかなりトリビアなトリッキーコード行きます。
■ このスレッドは過去ログ倉庫に格納されています