オープンソース/フリーソフトウェアコミュニティは、どのドキュメントも提供していない製品のドライバーを開発しますか?情報なしのドライバーの開発
2
A
答えて
7
どのようにリバースエンジニアリングを行いますか?
- 入力と出力を観察し、オブジェクトの操作を説明する一連のルールまたはモデルを作成します。
例:
のは、あなたがUSBカメラドライバを開発したいとしましょう。 「ブラックボックス」はソフトウェアドライバです。
- あなたはドライバ
- の入力と出力は、出力を分析し、記述するモデルを合成する一般的な入力を生成し、出力
- を記録見ることができるようにOSおよび/またはドライバにフックを開発
これは単なる通常の問題解決/科学的プロセスであることに注意してください。たとえば、気象予測者は同じことを行います。天気を観察し、現在の状況をモデルに対してテストし、数日後に何が起こるかを予測し、モデルの出力を現実と比較します。一致しない場合は、モデルに戻って調整します。
この方法は、コードを逆コンパイルしたり、製品を逆アセンブルし、完全に分析し、見た内容に基づいてモデルを作成する、クリーンルームのリバースエンジニアリングよりもわずかに安全です(法的に)。次に、モデル(および他の意味は)が、製品の機能を複製する開発者に渡されます。しかし、オリジナルを切り離したエンジニアは、著作権で保護されたコード/デザインの部分を持ち出して誤って新しいコードに入れる可能性があるため、参加できません。
しかし、製品を分解したり逆コンパイルしたりしないと、法的に安全な水域にいるはずです。残っている唯一の問題は特許の問題です。
-adam
2
通常、コードをリバースエンジニアリングします。しかし、一部の国で法的問題があるかもしれません。
0
これはかなり漠然とした質問ですが、私はreverse engineeringを言うでしょう。彼らがどのように進むのかは、それがどんな種類のデバイスであり、何が利用できるのかに依存しています。多くの場合、デバイスは、動作するように変更できる他のデバイスと同様のコアチップセットを持つことがあります。
関連する問題
- 1. Android開発:情報を渡す
- 2. Eclipseプラグインの開発 - チーム・プロバイダーからの情報の取得
- 3. 開発用GAEサーバーからローカルファイルシステムへの情報の取得
- 4. Windows XP用のWPFタッチスクリーンアプリケーションの開発に関する情報
- 5. ソーシャルネットワークの開発:ヒント、詳細、および情報
- 6. IEブラウザツールバーの開発に情報バーをもたらす方法
- 7. Windows 10のモバイルアプリケーション開発 - デバイス間で情報を共有する
- 8. Androidでモバイルサイトを開発するための基本的な情報が必要
- 9. クラッシュ情報なし
- 10. ログイン情報とその他の安全な情報をユーザーログイン
- 11. 開発マシンの資格情報の要件を排除する方法
- 12. などのクライアント情報
- 13. C++コンパイラのテンプレートエラー情報は - エラー情報
- 14. ユニークなDVD情報?
- 15. プロセスの呼び出し。無効な資格情報を使用して開始
- 16. Java最短コストパス:(.txt)テキストファイルからの情報なし/情報付き検索
- 17. WPF ClickOnce - 場所情報を公開
- 18. Rails開発環境にデバッグ情報が表示されないのはなぜですか?
- 19. DirectComputeの情報
- 20. GKTurnBasedParticipantの情報
- 21. グラブマイクロコントローラの情報
- 22. NHibernateの情報
- 23. Androidの開発:私は私のプロジェクトでは2つのクラスを持って情報を渡し、
- 24. どのようにユーザー情報を取得するfacebook api開発者やテスターではない
- 25. SwingX-WS 1.1とその開発状況に関する正式な情報はありますか?
- 26. 開発ではなく統合設定でMavenを使用するための情報が必要
- 27. Postscriptドライバー?
- 28. 公開情報のためのFacebookのグラフAPI
- 29. デバッグlogcatスタックトレース - ルーチン情報なし
- 30. Django - readonly_fieldsレンダリング情報なしフィールド