1

アプリケーションにはVB6を使用しています。

コンパイラに関数をインライン化させることは可能ですか?

または、同じことを実現するアドインはありますか?

私のコードには、関数として1回リストするのではなく、使用するすべてのポイントでコードを繰り返すことで、ハッキングを困難にしたい安全な部分があります。

誰かが私の質問に答えてくれることを願っています!

4

3 に答える 3

5

IMOがこれがセキュリティ対策として行っていることである場合、VBに機能をインライン化させるよりも大きな問題があります。そして、これを行うためのVB6の規定はないと思います。そして、同じ本当に重要な関数が何度も繰り返されるのを見るので、このテクニックはあなたのコードをハックするのをより簡単にするだろうと私は思う傾向があります...ごめんなさい:-(

于 2008-12-06T15:33:43.690 に答える
3

関数のインライン化はサポートされていません。しかし、あなたに有利に働くことがいくつかあります。

最初のVB6は、歴史上市場に逆コンパイラがないことからもわかるように、逆コンパイルが難しいことで有名です。この結果は、失われたソースコードを回復したり、VB6をハッキングしたりしようとする人々にとってはあまり役に立ちませんでした。

だが...

ActiveX DLLを使用している場合、互換性のあるDLLを作成している人がソフトウェアをハッキングするのは非常に簡単です。私の会社がこれに対処するために見つけた最善の方法は、重要なオブジェクトを作成不可能なものとして公開し、パックされたバイナリデータを交換することです。

public non-creatableは、誰かがDLLを参照し、そのオブジェクトのインスタンスを作成してから、テストを実行して何をしているかを確認することを防ぎます。バイナリデータは、交換するデータをわかりにくくするためのものです。

COMに関する文献を見ると、これらの問題に対処するためのより安全な方法がありますが、これらはActiveXアプリケーションのハッキングをより困難にするために実行できる簡単な方法です。

私の会社の目標は、誰かが私たちのソフトウェアをハッキングすることを不可能にすることではなく、私たちのシステム(CAD / CAMシステム)をハッキングしようとするよりも、競合他社が私たちに対処するためのコストを削減できるようにすることです。

于 2008-12-08T13:26:22.760 に答える
2

デイブが言ったように、VBコンパイラではそれをサポートしていません。

本当にこれが必要な場合は、コードのコピーに対して検索と置換を実行して、そのコピーをビルドしてみませんか。コマンドラインでそれを行うのはそれほど難しいことではありません。

于 2008-12-06T16:01:56.643 に答える