2011-12-11 8 views
1

Androidでは、実行時に実行クラスからバイトコードを取得する必要があります。 なぜか不思議に思っているのは、そのファイルが改ざんされていないことをチェックする不正コピー防止機構を実装するために、そのハッシュを計算するためです。実行時にバイトコードを取得

とにかく、私はこのようにそれをしようとしている:私はgetResourceAsStream()に渡すどのパラメータ

InputStream is = this.getClass().getClassLoader() 
        .getResourceAsStream("org/foo/bar"); 

が、それは常にnullを返します。

実際にAndroid上で実行時にバイトコードにアクセスする方法はありますか?

答えて

1

可能かどうかわからない場合は、APKに使用されている署名システムを信頼する必要があります。私がこれらで見た唯一のハックは、悪意のあるコードを含む別のアプリにそのアプリをラップし、Googleがそれを修正したことだ(私は思う)。クラスは既にハッシュコードを持っていますが、あなたがやりたいことと同じ結果を与えることはないと確信しています。

誰かがあなたのコードを変更できる場合、あなたの小切手も無効にします。

私は自分のアプリでAndroidのバイトコードのセキュリティをチェックするためにリバースエンジニアリングアプリを見て、試してみましたが、それは根ったシステムでのみ機能し、無効化されたコードは非常に恐ろしいものです。 Javaアプリを分解するのと同じではありません。

ゲームの海賊版には修正する必要はありません。

+0

ありがとうございます。しかし、私はまだバイトコードにアクセスする方法を見つけたいと思っています...あなたが知っているように、Androidアプリをクラッキングすることは、ケーキの一種であり、Googleのライセンスチェックを私のアプリ。署名チェックについても、これを実装しました。今私は、本当に創造的で、奇妙な解決策を使用して、アプリの海賊版の容易さを減らす必要があるという結論に達しました。私の解決策は、バイトコードへのアクセスを得ることに依存しています...まあ私はちょうど実際にバイトコードのハッシュが必要 – muslidrikk

関連する問題