Reverse/acidburn1/solve.md
2024-09-23 15:00:40 +08:00

53 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

p-code
VB Decompiler
1. 调整启动顺序
```
A154: 00->04 //Form1(NAG)
A1A4: 01->03 //Frmregister
A244: 03->00 //frmcrack(MAIN)
A294: 04->01 //frmAbout
```
2. 恢复frmcrack
窗体Visible: False (op:2E)
通过搜索可寻得
```
22A12: 00->01 //Visible: True
```
3. 计算Serial以下代码已精简处理
```c#
private static long[] GenerateKey(string name, string fname, string company)
{
int day = DateTime.Now.Day;
int month = DateTime.Now.Month;
long nameAsc = Convert.ToInt32(name[0]);
long fnameAsc = Convert.ToInt32(fname[0]);
long companyAsc = Convert.ToInt32(company[0]);
int length1 = name.Length;
int length2 = fname.Length;
int length3 = company.Length;
string part1 = (length1 < 6) ? "444" : ((length1 < 11) ? "555" : "666");
string part2 = (length2 < 6) ? "777" : ((length2 < 11) ? "888" : "999");
string part3 = (length3 < 6) ? "111" : ((length3 < 11) ? "222" : "333");
long s1 = nameAsc * Convert.ToInt64(part1) * day / month;
long s2 = fnameAsc * Convert.ToInt64(part2) * day / month;
long s3 = companyAsc * Convert.ToInt64(part3) * day / month;
return [s1, s2, s3];
}
```