013から160 CrackMeを破るリバース

CrackMe - 013

160逆CrackMeするプログラムCrackMeをクラックするために、逆方向であると160の全体のコレクションをクラックするために学習初心者に適しています

CrackMe:彼らは他の人の数に開かれているが、人々はcrackmeプログラマを作ることもできる小さなプログラムを解読しようとする彼らのソフトウェア保護技術をテストしたい、それがクラッカー可能性があり、クラックする他のクラッカーの強さに挑戦したい、だけでなく、それは、彼らの休憩に自分の小さなプログラムをクラックするために学習している一部の人かもしれません。

CrackMeはCMと呼ばれます。
プログラムのダウンロード: 私をクリックしてください

ソース  < -クリックして表示

番号 著者 保護
013 悪ガキ 名前/シリアル、シリアル(VB5)

 

 

 

ツール 

x32dbg

VBの逆コンパイラのプロ

PEID

ツアーをクラッキング開始

ON.1

まず、私は唯一の4つの文字列ではなく、我々が望むものを、暗号化されていないことが判明し、x32dbgの検索文字列を使用してプログラムを開きますか?

次はシェルが見つかったかどうかを確認するためにプログラムを開いペディ使用し、任意のシェルを追加しませんでした

 

ON.2

私たちは、上の左の列のクリックでVBの逆コンパイラプロオープン013のプログラムを使用してコード > - Form1が落下し、より多くのことがわかっクリック機能

私たちは、最初のクリックをクリックしてください(Combo1_Click)

私たちは、秘密鍵生成されたコードを見つけるよく見、赤いボックス

VAR 88 =現在の日* 23 + 2 +現在の年の現在の月の数* 1900 *

VaRの1d0 =(varは88 + VAR 88)+ 14 * 1905現在の日現在の日+ 14 * 1905

1900を掛けた理由をいくつかは言うだろう

イヤー内部VB(3)=> 1900年(2020年)=> 1905年以来

ここではPythonのコードがあります

import datetime
now = datetime.datetime.now()
var_88 = now.day * 22 + now.month * 1 + now.year * 1900
var_1d0 = var_88 * 2 + 13 * 1905 * 2

我们点击CrackMe 1.0在输入框内输入答案点击Try,bingo ~ 答案正确

接下来我们来看CrackMe 2.0

我们点击第二个Click(Combo2_Click)

将其转换为Python代码为

var_94 = '0110617121214051216101106141404110614140411091211100810101608040610121608100416'
name = 'lonenysky'
var_90 = 0
var_a8 = 1
for i in range(3, len(name)):
    var_90 = var_90 + (ord(name[i]) * int(var_94[var_a8 * 3 - 1:var_a8 * 3 - 1 + 3]))
    var_a8 += 1
    if var_a8 + 1 >= 39:
        var_a8 = 0
var_178 = 0
var_a8 = 1
for i in range(3, len(name)):
    var_1cc = ord(name[i]) * ord(name[i - 1]) * int(var_94[var_a8 * 2 - 1:var_a8 * 2 - 1 + 2])
    var_178 = var_178 + var_1cc
    var_a8 += 1
    if var_a8 + 1 >= 39:
        var_a8 = 0
print(str(var_90) + '-' + str(var_178))

 输入Name =>lonenysky Serial => 145533-911038 点击按钮Try ,提示答案正确

 

おすすめ

転載: www.cnblogs.com/lonenysky/p/11370649.html