タグ付けされた質問 「reverse-engineering」

リバースエンジニアリングは、その構造、機能、および動作の分析を通じて、人工デバイス、オブジェクト、またはシステムの技術原理を発見するプロセスです。

30
APKファイルのリバースエンジニアリングを回避する方法
Android向けの支払い処理アプリを開発していますが、ハッカーがAPKファイルのリソース、アセット、ソースコードにアクセスできないようにしたいと考えています。 誰かが.apk拡張子を.zipに変更すると、解凍してアプリのすべてのリソースとアセットに簡単にアクセスでき、dex2jarとJavaデコンパイラーを使用して、ソースコードにもアクセスできます。Android APKファイルのリバースエンジニアリングは非常に簡単です。詳しくは、Stack Overflowの質問APKファイルからプロジェクトへのリバースエンジニアリングをご覧ください。 Android SDKに付属のProguardツールを使用しました。署名付きキーストアとProguardを使用して生成されたAPKファイルをリバースエンジニアリングすると、難読化されたコードが表示されます。 ただし、Androidコンポーネントの名前は変更されず、アプリで使用されるKey-Valueなどの一部のコードは変更されません。Proguardのドキュメントに従って、このツールはマニフェストファイルに記載されているコンポーネントを難読化できません。 今私の質問は: Android APKのリバースエンジニアリングを完全に防ぐにはどうすればよいですか?これは可能ですか? ハッカーがAPKファイルをハッキングできないように、アプリのすべてのリソース、アセット、ソースコードをどのように保護できますか? ハッキングをより困難または不可能にする方法はありますか?APKファイルのソースコードを保護するには、他に何ができますか?


30
.NETコードをリバースエンジニアリングから保護しますか?
難読化は1つの方法ですが、アプリケーションの海賊版保護のセキュリティを破るのを防ぐことはできません。アプリケーションが改ざんされていないことを確認するにはどうすればよいですか。また、登録メカニズムをリバースエンジニアリングできないようにするにはどうすればよいですか。 また、C#アプリケーションをネイティブコードに変換することも可能であり、Xenocodeはコストがかかりすぎます。 C#は多くの機能を提供し、私のコードにとって理想的な言語であるため、C ++でコードベース全体を再度記述することは問題外です。 安全な証明書は、.NETの署名済みアセンブリから簡単に削除できます。


14
アプリケーションでプライベートAPIキーを保存および保護するためのベストプラクティス[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 10か月前に閉鎖。 ほとんどのアプリ開発者は、いくつかのサードパーティライブラリをアプリに統合します。DropboxやYouTubeなどのサービスにアクセスする場合や、ロギングをクラッシュさせる場合。サードパーティのライブラリとサービスの数は驚異的です。これらのライブラリとサービスのほとんどは、なんらかの方法でサービスを認証することによって統合され、ほとんどの場合、これはAPIキーを介して行われます。セキュリティ上の理由から、サービスは通常、公開鍵と秘密鍵を生成します。これらの鍵は秘密鍵とも呼ばれます。残念ながら、サービスに接続するには、この秘密鍵を使用して認証する必要があるため、おそらくアプリケーションの一部である必要があります。言うまでもなく、これは巨大なセキュリティ問題に直面しています。公開および秘密のAPIキーはAPKから数分で抽出でき、簡単に自動化できます。 私がこれに似たものを持っていると仮定すると、秘密鍵をどのように保護できますか? public class DropboxService { private final static String APP_KEY = "jk433g34hg3"; private final static String APP_SECRET = "987dwdqwdqw90"; private final static AccessType ACCESS_TYPE = AccessType.DROPBOX; // SOME MORE CODE HERE } あなたの意見では、秘密鍵を保存するための最良かつ最も安全な方法は何ですか?難読化、暗号化、どう思いますか?

28
SQL Server DBのすべてのインデックスとインデックス列のリスト
SQL Server 2005以降ですべてのインデックスとインデックス列のリストを取得するにはどうすればよいですか?私が得ることができる最も近いものは: select s.name, t.name, i.name, c.name from sys.tables t inner join sys.schemas s on t.schema_id = s.schema_id inner join sys.indexes i on i.object_id = t.object_id inner join sys.index_columns ic on ic.object_id = t.object_id inner join sys.columns c on c.object_id = t.object_id and ic.column_id = c.column_id where i.index_id > …


4
JavaプロジェクトからUMLクラス図を生成する[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 6年前休業。 この質問を改善する JavaクラスをUMLにリバースエンジニアリングして、クラスが互いにどのように関連しているかの概要を表示できる優れたツールはありますか?ソースがあるので、JARファイルから逆コンパイルする必要はありません。私はそこにかなりの数があることを知っていますが、それらのほとんどは個々のクラスを生成することしかできません。現在のすべてのクラスとパッケージがどのように連携しているかの概要を示し、現在のアーキテクチャ設計を分析できるようにするクラス図を生成できるツールがあればいいのですが。もちろん、分析はひとつのことです。もう1つは文書化を目的としています。 これまでにいくつか知っています。ただし、概要クラス図は作成できません。以下は、私が試したリバースエンジニアリングを実行できるJava UMLツールのリストですが、プロジェクト全体の概要クラス図は作成できません。 StarUML(本当に優れたオープンソース UMLツールですが、概要クラス図ではありません) ArgoUML(低速で遅いため、クラッシュし続けます) UModel(これは市販のソフトウェアです。少し前に使用しましたが、使いにくいと感じました) MS Visio(Java UMLリバースエンジニアをサポートしていません。VBのみ) このリストに追加する他の推奨事項はありますか?うまくいけば、概要Javaクラス図を生成できます。ちなみに私はEclipseを使っています。

18
Webサイトが構築されているテクノロジをどのように判断しますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 5年前休業。 ロックされています。この質問とトピックへの回答はロックされています。質問はトピックから外れていますが、歴史的に重要です。現在、新しい回答や相互作用を受け入れていません。 よく見かけたり機能的なウェブサイトに出くわしたり、それを作成するのにどんなテクノロジーが使われたのだろうと思いました。特定のウェブサイトが何で構築されたかを理解するために利用できるテクニックは何ですか? Webエディターのようにジェネレーターメタタグを含むフレームワークはほとんどありません。特定の言語やフレームワークの明確な兆候はありますか? 回答のまとめ サイトのURLは、フレームワークやプログラミング言語を裏切る可能性がありますが、信頼することはできません(例:.aspなどのファイル拡張子)。HTTP応答ヘッダー、Cookie、スタイルシート、およびソースコメントも手がかりとなる場合があります。 サイトの詳細を照会するためのいくつかの優れたツール(間違いなく他にもたくさんあります): BuiltWith DomainTools NetCraft W3Techs SimilarTech Firefoxアドオン: Wappalyzer -CMS、フレームワーク/ライブラリ、eコマース、メッセージボードなど。 ドメインの詳細 -IP、国、ウェブサーバーの詳細 Library Detector-使用中のJavaScriptライブラリ Chrome拡張機能: ワプライザー SimilarTech PageXray ブックマークレット: WTFramework-使用中のJavaScriptフレームワークを示します

6
iBeacon Bluetoothプロファイルとは
いくつかのBluetooth低エネルギー開発キットを使用して独自のiBeaconを作成したいと思います。AppleはまだiBeaconsの仕様を発表していませんが、一部のハードウェア開発者はAirLocateサンプルコードからiBeaconをリバースエンジニアリングして、iBeacon開発キットの販売を開始しています。 では、iBeacon Bluetoothプロファイルとは何ですか? Bluetooth Low Energyは、LEプロファイルサービスの検出にGATTを使用します。したがって、iBeacon属性の属性ハンドル、属性タイプ、属性値、そして多分属性のアクセス許可を知る必要があると思います。したがって、U2がE2C56DB5-DFFB-48D2-B060-D0F5A71096E0のiBeaconのメジャー値が1でマイナー値が1の場合、Bluetooth GATTプロファイルサービスはどうなりますか? ここに私がAppleのフォーラムでの議論やドキュメントを通して行ったいくつかの仮定があります。 Bluetooth周辺機器のプロファイルサービス(GATT)を見るだけで、iBeaconであることを知ることができます。 メジャーキーとマイナーキーは、このプロファイルサービスのどこかにエンコードされています すでにこれを理解していると思われるiBeacon Dev Kitを使用している企業がいくつかあります。 http://redbearlab.com/ibeacon/ http://kontakt.io/ うまくいけば、次のようなプロファイルがBluetooth.orgに投稿されます。https://www.bluetooth.org/en-us/specification/adopted-specifications

5
C ++逆コンパイラはありますか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 3年前休業。 この質問を改善する C ++ソースコードを失ったプログラムがあります。そこに良いC ++逆コンパイラがありますか? 私はすでにブーメランに遭遇しました。

1
構造体宣言の最後にあるこの[1]の目的は何ですか?
私はMSP430マイクロコントローラーのヘッダーファイルを調べていましたが、次の場所で遭遇しました<setjmp.h>。 /* r3 does not have to be saved */ typedef struct { uint32_t __j_pc; /* return address */ uint32_t __j_sp; /* r1 stack pointer */ uint32_t __j_sr; /* r2 status register */ uint32_t __j_r4; uint32_t __j_r5; uint32_t __j_r6; uint32_t __j_r7; uint32_t __j_r8; uint32_t __j_r9; uint32_t __j_r10; uint32_t __j_r11; } …

10
メモリ内のマインスイーパのマインレイアウトを表すデータ構造を見つけるにはどうすればよいですか?
マインスイーパをサンプルアプリケーションとして使用して、リバースエンジニアリングについて学習しようとしています。すべての鉱山を明らかにする単純なWinDbgコマンドに関するこのMSDNの記事を見つけましたが、それは古く、詳細には説明されておらず、本当に探しているものではありません。 私が持っているIDA Proの逆アセンブラとWinDbgデバッガーをし、私はそれらの両方にwinmine.exeをロードしました。誰かが地雷原を表すデータ構造の場所を見つけるという観点から、これらのプログラムのいずれかに実用的なヒントを提供できますか? WinDbgではブレークポイントを設定できますが、ブレークポイントを設定するポイントとメモリの場所を想像するのは困難です。同様に、IDA Proで静的コードを表示すると、地雷原のフィールドを表す関数またはデータ構造をどこから探し始めればよいかわかりません。 私を正しい方向に向けることができるStackoverflowのリバースエンジニアはいますか?

11
Googleの画像なしボタン
最近、Googleの新しいイメージレスボタンに関する記事がいくつかあります。 http://stopdesign.com/archive/2009/02/04/recreating-the-button.html http://stopdesign.com/eg/buttons/3.0/code.html http://stopdesign.com/eg/buttons/3.1/code.html http://gmailblog.blogspot.com/2009/02/new-ways-to-label-with-move-to-and-auto.html これらの新しいボタンがGmailでどのように機能するかが本当に気に入っています。サイトでこれらのボタンまたは同様のボタンを使用するにはどうすればよいですか?同様のルックアンドフィールのオープンソースプロジェクトはありますか? JQuery / XHTML / CSSを使用してこのような独自のボタンパッケージをロールしたい場合、どの要素を使用できますか?私の最初の考えは: <input type="button">外観を改善するためのcssを使用した標準(主にcss / imgesについて話されている設計記事に関連しています。) <a>タグ付きの「onclick」イベントのボタンをルートとするカスタムダイアログとフィルタリング用の検索バーを表示するJQuery JavaScript そのポップアップのテーブルレイアウトは正気でしょうか? 私はWebのリバースエンジニアリングにひどいですが、これらのボタンをリバースエンジニアリングするために使用できるツールにはどのようなものがありますか?FirefoxのWeb開発者ツールバーを使用すると、ボタンのポップアップダイアログで使用されているcssまたはjavascript(縮小されていても)が実際には表示されません。それらをのぞいていくつかのアイデアを得るには、どのブラウザツールまたは他の方法を使用できますか? 私はGoogleのIPを盗むつもりはありません。同様のボタン機能を作成する方法を知ってください。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.