ホームページ >コンピューターのチュートリアル >コンピュータ知識 >簡単な言語プログラムで検証コード機能を実装する方法
まず最初に、認証に登録コードを使用することはお勧めしませんが、ネットワーク認証を使用することをお勧めします。ネットワーク検証を使用すると、ゲーム アカウントがより安全、より便利、より高速になることが保証されます。
登録コードの検証は簡単に破られる可能性があります。
まず、登録コードの登録プロセスについて説明します:
まだレベルに合格していないプレイヤーを助けるために、パズルを解くための具体的な手順を理解しましょう: 「ユーザーが確認コードを入力 → 登録送信ボタンをクリック → プログラムが登録コードを生成 → 登録を比較コード。」
比較結果が同じであれば、登録は成功です
比較が失敗し、登録も失敗します
if判定です。
If (登録コード = 正しい登録コード)
登録が成功しました () それ以外の場合は登録に失敗しました ()
OD デバッガでは、cmp 命令と jnz 命令の組み合わせジャンプによる条件判定と実行が可能です。このステートメントの目的は、2 つの値を比較し、等しくない場合にジャンプ操作を実行することです。
ZF が 1 でない場合の cmp 比較 jnz ジャンプ
鍵はここにあります。クラッカーは jnz nop を埋めますが、そのようなジャンプはありません、つまり、cmp 比較が同じであっても異なっていても、別のサブルーチンにジャンプすることはありません。このようにしてプログラムはクラックされます。または、無条件ジャンプで jnz を jmp に変更します。つまり、cmp が同じであっても異なっていても、次のサブルーチンにジャンプします。ネットワーク検証については、Jingyi フォーラムなどの大規模なイー語フォーラムで見つけることができます。
.バージョン 2
.サポート ライブラリ dp1
.サブルーチン __start window_created
.ローカル変数テキスト、テキストタイプ
.ローカル変数ファイル名、テキストタイプ
.ローカル変数パス、テキストタイプ
.ローカル変数 MD5、テキスト型、 、"0"
.ローカル変数数、整数型
誰もがよりよく理解できるように、具体的な手順を見てみましょう。まず、ファイルからテキスト コンテンツを読み取る必要があります。これは、次のコードを使用して実現できます。 「」パイソン open("D:\modlist.txt", "r") をファイルとして使用します: コンテンツ = file.read() 「」 このコードでは、`open()` 関数を使用してファイルを開き、ファイル パスと読み取りモードを渡します (「r」は読み取り専用を意味します)。次に、`read()` メソッドを使用してファイルの内容を読み取り、
に保存します。MD5 = 分割テキスト (テキスト、#改行、)
パス = “D:\bin\MOD\”
プレイヤーがファイルを見つけやすいように、次のコードを使用できます: file name = find file (path "*.*")。このようにして、指定したパスの下にあるすべてのファイルを見つけることができます。
.ループの開始を判定(ファイル名≠“”)
ファイルのデータ概要を取得するには、次のコードを使用できます: `text = get data summary (read in file (path file name))`。このコード行は、指定されたパスにあるファイルを読み取り、そのデータ ダイジェストを計算します。
まだレベルをクリアしていないプレイヤーを助けるために、具体的なパズルの解決方法について学びましょう。まず、カウント ループを実行し、配列メンバーの数 (MD5) を使用してループの数を決定し、カウントに基づいて対応する操作を実行する必要があります。このヒントが皆さんのお役に立てれば幸いです。
.true の場合 (MD5 [カウント] = テキスト)
ループから抜け出す ()
.本当に終わるなら
.カウントループ終了 ()
. true の場合 (count > 配列メンバーの数を取得 (MD5))
情報ボックスに「ファイル名の MD5 コードが見つかりませんでした」と表示されます。#エラー アイコン
###仕上げる ()###.本当に終わるなら
ファイル名 = ファイルを検索 (,)
.ループの終了を判断する()
以上が簡単な言語プログラムで検証コード機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。