solved new crackme

This commit is contained in:
Chenx221 2024-12-23 11:31:22 +08:00
parent 5583df8694
commit 560ba1e8ff
Signed by: chenx221
GPG Key ID: D7A9EC07024C3021
5 changed files with 73 additions and 0 deletions

BIN
CM2_3/CM2.jar Normal file

Binary file not shown.

BIN
CM2_3/keygen/keygen.jar Normal file

Binary file not shown.

69
CM2_3/solve.md Normal file
View File

@ -0,0 +1,69 @@
根据name算SN
先来一组可用的name&SN:
```
Name: chenx221
SN: 14wact6
```
思路:
```
SN: CRC32(MD5("vhly[FR]" + name))结果的36进制形式
MessageDigest var6 = MessageDigest.getInstance(I.I(47)); // MD5
var6.update(I.I(51).getBytes()); // vhly[FR]
这两处字符串被藏在了I.gif里I.gif处理方法和该crackme上一代相同
使用上次准备的读取器可以获取这些字符串:
ExiTChECk"Name length must more than 3 charsMD5vhly[FR]Serial is WrongSerial is Right! YOuR OK
```
细节:
```java
String var3 = addActionListener.getText(); // Name
String var4 = digest.getText(); // SN
if (var3 == null) {
return;
}
if (var4 == null) {
return;
}
if (var3.length() <= 3) {
JOptionPane.showMessageDialog(this, I.I(12));
return;
}
byte[] var5 = null;
try {
MessageDigest var6 = MessageDigest.getInstance(I.I(47)); // MD5
var6.update(I.I(51).getBytes()); // vhly[FR]
var6.update(var3.getBytes()); // Name
var5 = var6.digest(); // Convert vhly[FR]+Name to MD5
} catch (Exception var12) {
}
CRC32 var13 = new CRC32();
var13.update(var5);
long var7 = var13.getValue();
long var9 = Long.parseLong(var4, 36); // 36进制
boolean var11 = false;
if (var7 / var9 == 1L) {
var11 = true;
} else {
var11 = false;
}
if (!var11) {
JOptionPane.showMessageDialog(this, I.I(60));
return;
}
JOptionPane.showMessageDialog(this, I.I(76));
return;
```

BIN
CM2_3/source/source.7z Normal file

Binary file not shown.

4
CM2_3/vhly.nfo Normal file
View File

@ -0,0 +1,4 @@
name: Java CrackMe #2
author: vhly[FR]
email: vhly@163.com
date: 2006/01/13