問題タブ [cracking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1999 参照

android - 「Android ロック解除」アプリをクラッカーに対してより安全にする方法は?

私のアプリの有料版では、実装が簡単で、開発者コンソールで個々の統計を使用できるため、アンロック アプリ ルートを選択していますが、主に 2 つのコード ベース (無料版用と別の有料版)。私が CVS を使用したとしても (私はそうしています)、機能のマージとバグ修正を続けるのは依然として骨の折れる作業です。ロック解除アプリは、全体的に実装がはるかに簡単です...

しかし、これには重大な欠点が伴います。セキュリティ チェックをオーバーランするのは非常に簡単です。ここで何かが欠けていない限り。

私が何をしても、そのような実装は常にif次のような単純なものになります。

メソッドは、isPremiumVersion()証明書が一致するかどうかなど、有料のロック解除アプリのインストールをチェックするすべての作業を担当するものです。はい、ロック解除アプリは LVL によって保護されています (ただし、LVL がいかに安全でないかについて言及している記事をいくつか読みましたが、それは今のポイントではありません)。しかし、最終的には、内部のコードがどれほど複雑にisPremiumVersion()なっても、常にtrueまたはfalse値が返されます。

このようなセキュリティ機能をオーバーライドするには、コードをリバース エンジニアリングして、常に を返すようにするだけtrueです。そうじゃない?Android アプリをこれから保護するにはどうすればよいでしょうか? はい、コードは ProGuard で難読化されています。それでも、十分に熟練した人にとっては難しすぎるべきではありません.

クラッカーと戦おうとしているわけではないことに注意してください。単に勝つことはできません。「完璧な解決策」に数え切れないほどの時間を浪費して、これで眠りを失うつもりはありません。少しでも安心できる方法を模索中です。少なくとも理論的には、これをクラックするのはとても簡単に思えます。私は間違っていますか?

そのような機能のセキュリティを向上させるためのアイデアはありますか?

0 投票する
2 に答える
3827 参照

assembly - WinDbgでアセンブリを編集する

WinDbgを使用して( http://crackmes.deから)いくつかの「クラック」を解決しようとしています。私が見たソリューションのほとんどは、OllyDbgを使用してアセンブリに変更を加えることを含みます。WinDbgでこれを行う方法はありますか?

0 投票する
1 に答える
3464 参照

search - WinDBGで「すべての参照テキスト文字列」を検索する

Olly Dbgには、「すべての参照テキスト文字列」を検索するオプションがあります。WinDBGで同様のことを行う方法はありますか?

これまで、私は以下を試しました:

ただし、これにより大量のゴミが返されます。オリーのように、これをより管理しやすい文字列のリスト(そしておそらくそれらが参照されている場所)に減らす方法についてのアイデアはありますか?

0 投票する
3 に答える
30920 参照

windows - OllyDbgはWindows7x64では機能しません

Windows 7 x64&OllyDbg 1.10

デバッグ技術を学び始め、OllyDbgを使用して「crack_me.exe」というデモプログラムをデバッグしようとしています。しかし、私は次のような問題に直面します。

'crack_me.exe'にブレークポイントを設定し、F9キーを押してプログラムを実行しましたが、Windowsがダイアログに警告します(私のOSは中国語です)。
クラッシュミークラッシュ

一般的な意味:
crack_me.exeは動作を停止しました。
Windowsはインターネットに接続して、この問題の解決策を見つけることができます。

  • インターネットに接続して解決策を見つけ、プログラムを閉じます
  • プログラムを閉じる
  • プログラムをデバッグする

3番目のオプションを選択すると、Windowsは次のように言います。 ここに画像の説明を入力してください

一般的な意味:
デバッガーはcrack_me.exeにアタッチされていますが、デバッガーは未処理の例外をデバッグするように設定されていません。この例外をデバッグする場合は、現在のデバッガーをデタッチする必要があります。

次の図に示すように、Ollydbg設定のすべての例外を無視することを選択しました。 ここに画像の説明を入力してください

この問題が発生する理由とその修正方法を知りたいだけです。すべての返信が期待されます。ありがとうございました。


同じアプリcrack_me.exeを使用していても、今日この問題が再び発生するのは奇妙なことです。今回はプラグインをインストールしませんが、Windowsはcrack_me.exe(他のアプリと同じ)がクラッシュすることを警告します。なぜ昨日オリーは正常に動作し、今日は問題が再び発生したのですか?

0 投票する
1 に答える
1260 参照

byte - いくつかのexeファイルをクラックする-バイトを削除する方法

今日、私はEXEファイルからいくつかのバイトを削除しようとしています。

EXEの中に、EXEがロードする必要のあるファイルへのパスが見つかりました。パスを変更したいのですが、そのためにはいくつかの../../文字を削除する必要があります。それを行ってファイルを保存すると、アイコンが失われ、実行しようとすると「win32unknowformaterror」が表示されます。

これらのバイトを削除せずに、に置き換える0と、アイコンは失われず、ファイルは正しく表示されます。しかし、パスは正しくありません。

したがって、バイトを削除すると、リソース(アイコン)を含むファイル内の他の情報の位置が失われるように見えます。これらのバイトを削除した後、他のデータの同じサイズと位置を維持するために、他の6バイトを追加する必要があります。どこでやればいいですか?これらのバイトをファイルの最後に追加すると、機能しません。手がかりを教えていただけますか?ありがとう!

0 投票する
1 に答える
1211 参照

portable-executable - 2 つの異なるバイナリ (x86 PE) にパッチを適用 (マージ) するときに IAT と再配置を修正する最良の方法は?

はじめに - こんにちは、お読みいただきありがとうございます。

ソースコードはありませんが、いくつかの機能を追加する必要がある DLL が 1 つあります。

Visual Studio を使用して、必要なすべての機能を C で実装する別の DLL を作成しました。

次に、この新しい DLL から生成されたコードをターゲット DLL に挿入する必要があります (実行時ではなく、ファイル レベルで行う必要があります)。

おそらく、ターゲット DLL に新しい PE セクションを作成し、作成した DLL のすべてのコード/データ/rdata をそこに置きます。問題は、ターゲット DLL に新しく挿入されたコードに関連する IAT と relocs を修正する必要があることです。

私の質問は:

それを行う最良の方法は何ですか?

Visual Studio が (ほとんど) 相対アドレス指定のみを使用してビルドするオプションを思いついた場合、それは素晴らしいことです。これにより、再配置を処理するときに多くの節約になります。すべての変数と定数を構造体にカプセル化できると思います。うまくいけば、MSVC はこの「コンテナー」構造体のアドレスを再配置し、相対アドレス指定を使用してそのメンバーにアクセスするだけで済みます。しかし、これが良いアイデアかどうかはわかりません。

さらに進んで、必要な関数モジュール (遅延ロード モジュールのようなもの) を動的にロードする関数ポインターを作成することで、IAT を取り除くこともできます。繰り返しますが、この関数ポインターを、前に述べた「コンテナー」構造体の中に入れます。

私が持っている最後のオプションは、16 進数でバイナリを手動で編集して、すべて手動で作成することです...これは、IAT エントリごとに実行してエントリを再配置するにはかなりの時間がかかるため、本当にやりたくありませんでした。 . しばらく前に PE ファイル暗号化プログラムを作成したので、内部の仕組みのほとんどを知っており、それが実行できることを知っています。あなたの考えを知りたいだけで、私を助けるためのツールが既に存在している可能性がありますか?

どんな提案でも大歓迎です!

これを読んでくれてありがとう!

0 投票する
5 に答える
18809 参照

security - ブルート フォース PBKDF2 はどのくらいの速さで実行できますか?

リンクインのパスワード ハッシュ リークの後、私はパスワード ハッシュを調べてきました。PBKDF2 を使用する Django 1.4 を使用しています。これは、以前の SHA1 からのステップアップです。

しかし、私はどれだけ簡単にそれを総当たりできるか興味があります。私はパスワードの複雑さのルールを見ていて、(たとえば) 8 つの長さの小文字の ASCII 文字を処理するのにどのくらいの時間がかかるか疑問に思っています。

LinkedIn のパスワード ハッシュをクラックするためのこのガイドでは、GPU で 1 秒あたり 4 億 3000 万の sha1 ハッシュを行っている人がいます。http://erratasec.blogspot.ie/2012/06/linkedin-vs-password-cracking.html PBKDF2 ではどのような速度が得られますか?

ブルート フォース PBKDF2 をどのくらいの速度で実行できるかについて、大まかな/封筒の裏/球場の数字を持っている人はいますか?

0 投票する
2 に答える
1630 参照

c# - 安全なネットワーク トラフィックの c#

C#でプログラムを開発しています。インターネットに接続して、このコピーが有効かどうかを確認します。

現在、ライセンス キーを送信し、キーが有効な場合は応答 (0 または 1) を取得しています。

問題は、一部のユーザーがパケット キャプチャ ツールを使用してデータを偽装し、それを再生することです。そのため、アプリケーションは非常に簡単にクラックできます。どうすればこれを防ぐことができますか?

これが私が本質的に防ぎたいことです:

  • ネットワーク リプレイ攻撃
  • 認証「エミュレーター」

どのデータが送信されたかを知ることは不可能であるべきです。たぶん、現在の時刻を追加してから、パケットを暗号化する必要がありますか? だからいつも違うの?

注意: アプリケーション自体を変更することで簡単にクラックできるという警告はしないでください。そんなこと知ってる。この質問は、ネットワーク部分のみに関するものです。

0 投票する
6 に答える
13601 参照

c# - .Net exe を逆コンパイル/クラッキングから保護する方法

数日前に .Net 4.0 (デスクトップ アプリケーション) で開発されたソフトウェアをリリースしたので、本当に悲しいです。3日後、そのクラックがインターネット上で利用可能になりました. 私たちはソフトウェアをこれから守ろうとしましたが、どういうわけか人々はそれをクラックすることから逃れました.

シナリオは次のとおりです。アプリケーションが初めて起動するときに、アプリケーションは Web サーバーと通信し、ユーザーから渡された資格情報を確認します。資格情報が正しい場合、ソフトウェアは値をレジストリに保存し、MachineID をサーバーに送り返し、データベースに保存します。

ここで、ハッカーはサーバー通信を「return true;」に置き換えました。ステートメント(Telrik JustDecompileで確認しました)。彼はクラックされたソフトウェアをインターネットにアップロードしました。

さて、私の質問は次のとおり
です。1- .Net アプリケーションがクラックされないようにする方法は?
2-ハッカーは変更を行ったので、私のコードを知っています。どのような手順を踏む必要がありますか?
3- 難読化ツールについてインターネットで読みました。しかし、ハッカーは私のコードを知っています。
4- ソフトウェアのクラックを回避するために使用できるその他のプロのヒントはありますか?
5-よくわかりませんが、これらのリフレクター ソフトウェアは機密データを含む App.Config を逆コンパイルすることもできますか?

0 投票する
1 に答える
547 参照

c# - Webサービスにロジックを追加してデスクトップアプリケーションを保護する

最近デスクトップアプリケーションを起動しましたが、数日後にクラックが発生しました。私はスタックオーバーフローについて質問を投稿しました、そして人々は私がそれを止めることができないと言いました。ソフトウェアの起動時に、これを許可することはできず、解決策が必要です。だから、以下は私が考えていることです。

現在、ユーザーを確認するためにWebサーバーと通信するデスクトップアプリケーションがあります。ユーザーが確認されると、レジストリに値が保存されます。ハッカーは通信コードをバイパスし、レジストリに偽の値を追加しました。これで、ハッカーは私のソフトウェアを使用できるようになりました。

今、私はソフトウェアの主な機能からWebサーバー上の別の場所でホストされているWEBサービスにコードの一部を取り込むことを計画しています。ソフトウェアがその機能を実行する必要があるときはいつでも、ソフトウェアはレジストリの値を使用してWEBサービスを呼び出します。それらの値を確認して結果を返します。しかし、値が私のデータベースと一致しない場合、私は呼び出しを拒否します。

だから、私の質問は次のとおり
です。1-この解決策は実行可能だと思いますか?
2-私の考えによれば、それはソフトウェアをハッカーにとって役に立たないものにするでしょう。どう思いますか ?
3-このソリューションに欠陥はありますか?