求职,限上海跨国公司的程序员职位,最好是偏向研究方面的。
.NET和C++职位都胜任,偏硬件更有兴趣(我对Matlab有些心得),不做报表,下面代码将作为一个另类的简历,各位研发人员若有意愿推荐我,请私人留言。
可以看到,如果我再找不到工作,将会成为一个危险的人,为了IT产业健康发展,社会安定,来招聘我吧。
完成时间一天
using System;
using Microsoft.Win32;
using System.Text;
namespace ActiveReports_Keygen
{
class Program
{
static byte[] NonEmptyBytes(byte[] t)
{
int i = 0;
while (t[i] != 0x00)
{
i++;
}
if (i % 2 == 1)
i++;
byte[] ret = new byte[i];
while (i != 0)
{
i--;
ret[i] = t[i];
}
ret[0] = t[0];
return ret;
}
static void Main(string[] args)
{
CKC ckc = new CKC();
Console.Write("Name: ");
string sName;
sName = Console.ReadLine();
Console.Write("Company: ");
string sCompany;
sCompany = Console.ReadLine();
Console.Write("Serial: ");
string sSerial;
sSerial = Console.ReadLine();
byte[] bfName = NonEmptyBytes(ckc.E0(sName.Replace(',', ' ')));
byte[] bfCompany = NonEmptyBytes(ckc.E0(sCompany.Replace(',', ' ')));
byte[] bfSerial = NonEmptyBytes(ckc.E0(sSerial.Replace(',', ' ')));
RegistryKey key1 = Registry.CurrentUser.CreateSubKey(@"Software\Data Dynamics\ActiveReports for .NET 3.0");
key1.SetValue("62D12084-D57A-4e5b-A17B-A625D4622EAE", bfName);
key1.SetValue("E84CC406-7C42-40ee-8439-7CEAE3C18F47", bfCompany);
key1.SetValue("CD84FA0F-A5F1-4f51-BCD2-2E83F594D66D", bfSerial);
// Read from ActiveReports3.dll: DataDynamics.ActiveReports.InternalC.DDLP.KValuePro
string MagicString = "aifaiansfnamsnfomnfaawrby";
RegistryKey key_reg = Registry.ClassesRoot.CreateSubKey(@"Licenses\\DD39D520-4330-4235-A742-12F397771E13");
key_reg.SetValue("", MagicString);
Console.WriteLine(@"Done to write!");
Console.WriteLine();
string sLicense = ckc.CK(sName.Replace(',', ' '), sCompany.Replace(',', ' '), sSerial.Replace(',', ' '), MagicString);
string DataDynamicsARLic = string.Format("{0},{1},{2},{3}", new object[] { sName, sCompany, sSerial, sLicense });
Console.WriteLine(string.Format("Please call ActiveReport3.SetLicense(\"{0}\") to register ActiveReport\r\n\r\n",DataDynamicsARLic));
Console.WriteLine("Or use the following configuration: \r\n");
StringBuilder builder1 = new StringBuilder();
builder1.Append("<configuration>\r\n");
builder1.Append("<!-- application specific settings -->\r\n");
builder1.Append("<appSettings>\r\n");
builder1.AppendFormat("<add key=\"DataDynamicsARLic\" value=\"{0}\" />\r\n", DataDynamicsARLic);
builder1.Append("</appSettings>\r\n");
builder1.Append("</configuration>\r\n");
Console.WriteLine(builder1);
Console.WriteLine("Please notice char '-' can be replace to any char if you like");
Console.ReadLine();
}
}
public class CKC
{
public CKC()
{
this.decoy1 = new char[] {
'F', '8', '4', 'H', 'D', 'K', 'B', 'I', 'D', 'H', 'E', '0', 'A', 'N', 'L', 'D',
'Y', 'W', 'P', 'Q', 'N', 'F', 'K'
};
this.decoy2 = new char[] {
'2', 'N', 'D', 'L', 'S', 'H', 'B', 'Y', 'F', 'A', 'S', 'D', '4', 'L', 'K', 'H',
'R', '7', 'Y', 'V', 'A', 'S', 'O'
};
this.encodeMap = new char[] {
'4', 'K', 'E', '9', 'H', '8', 'S', 'H', '4', 'I', 'F', '7', 'O', 'V', 'F', '7',
'W', 'U', 'J', 'S', 'M', '9', '7'
};
}
public string CK(string sName, string sCompany, string sSerial, string sLicense)
{
byte[] buf1;
IntPtr ptr;
int NameLength = sName.Length;
int CompanyLength = sCompany.Length;
int SerialLength = sSerial.Length;
int LicenseLength = sLicense.Length;
char[] retRev = new char[20];
int num6 = 0;
byte[] bfName = this.E0(sName);
byte[] bfCompany = this.E0(sCompany);
byte[] bfSerial = this.E0(sSerial);
byte[] bfLicense = this.E0(sLicense);
int NameSum = 0;
int i = 0;
while (i < NameLength)
{
NameSum += bfName[i];
i++;
}
retRev[0x10] = this.encodeMap[NameSum % 0x16]; // retChar[3] is NameSum
int CompanyLicenseSum = 0;
i = 0;
while (i < CompanyLength)
{
CompanyLicenseSum += bfCompany[i];
i++;
}
i = 0;
while (i < LicenseLength)
{
CompanyLicenseSum += bfLicense[i];
i++;
}
retRev[0x11] = this.encodeMap[CompanyLicenseSum % 0x16]; // retChar[2] is CompanyLicenseSum
int SerialSum = 0;
i = 0;
while (i < SerialLength)
{
SerialSum += bfSerial[i];
i++;
}
retRev[0x12] = this.encodeMap[SerialSum % 0x16]; // retChar[1] is SerialSum
byte[] buf2 = new byte[0x100];
// retChar[13-17] is Name^Serial
Array.Clear(buf2, 0, 0x100);
i = 0;
while ((i < NameLength) || (i < SerialLength))
{
(buf1 = buf2)[(int) (ptr = (IntPtr) i)] = (byte) (buf1[(int) ptr] ^ bfName[i]);
(buf1 = buf2)[(int) (ptr = (IntPtr) i)] = (byte) (buf1[(int) ptr] ^ bfSerial[i]);
i++;
}
i = 2;
while (i <= 6)
{
retRev[i] = this.encodeMap[(buf2[i - 2] + i) % 0x16];
num6 += this.decoy1[buf2[i - 2] % 0x16];
i++;
}
// retChar[6-10] is Company^Serial
Array.Clear(buf2, 0, 0x100);
i = 0;
while ((i < CompanyLength) || (i < SerialLength))
{
(buf1 = buf2)[(int) (ptr = (IntPtr) i)] = (byte) (buf1[(int) ptr] ^ bfCompany[i]);
(buf1 = buf2)[(int) (ptr = (IntPtr) i)] = (byte) (buf1[(int) ptr] ^ bfSerial[i]);
i++;
}
i = 9;
while (i <= 13)
{
retRev[i] = this.encodeMap[(buf2[i - 9] + i) % 0x16];
num6 -= this.decoy2[buf2[i - 9] % 0x16];
i++;
}
retRev[0] = '-'; // retChar[0x13] ignore
retRev[1] = '-'; // retChar[0x12] ignore
retRev[7] = '-'; // retChar[12] ignore
retRev[8] = '-'; // retChar[11] ignore
retRev[15] = '-'; // retChar[4] ignore
retRev[14] = '-'; // retChar[5] also unused fill no-zero
// retRevSum[0x13] is Sum Bit
int retRevSum = 0;
i = 0;
while (i < 0x13)
{
retRevSum += retRev[i];
i++;
}
retRev[0x13] = this.encodeMap[retRevSum % 0x16];
// reverse retRev to retChar
char[] retChar = new char[20];
for (int j = 0; j < 20; j++)
{
retChar[j] = retRev[0x13 - j];
}
return new string(retChar);
}
public byte[] E0(string str)
{
byte t;
int strLength = str.Length;
byte[] retBuf = new byte[0x100];
Array.Clear(retBuf, 0, 0x100);
int i = 0;
while (i < strLength)
{
retBuf[i * 2] = (byte) (str[i] & '\x00ff');
retBuf[(i * 2) + 1] = (byte) ((str[i] >> 8) & '\x00ff');
i++;
}
i = 0;
while (i < (strLength * 2))
{
t = retBuf[i];
t = (byte) (((t & 15) << 4) | (15 & (t >> 4)));
t = (byte) (t ^ (i + 1));
retBuf[i] = t;
i++;
}
for (i = 0; i < (strLength * 2); i++)
{
t = (byte) (retBuf[i] ^ (strLength * 2));
retBuf[i] = t;
}
return retBuf;
}
private char[] decoy1;
private char[] decoy2;
private char[] encodeMap;
private const int ENCODEMAP_SIZE = 0x16;
}
}
using System;
using Microsoft.Win32;
using System.Text;
namespace ActiveReports_Keygen
{
class Program
{
static byte[] NonEmptyBytes(byte[] t)
{
int i = 0;
while (t[i] != 0x00)
{
i++;
}
if (i % 2 == 1)
i++;
byte[] ret = new byte[i];
while (i != 0)
{
i--;
ret[i] = t[i];
}
ret[0] = t[0];
return ret;
}
static void Main(string[] args)
{
CKC ckc = new CKC();
Console.Write("Name: ");
string sName;
sName = Console.ReadLine();
Console.Write("Company: ");
string sCompany;
sCompany = Console.ReadLine();
Console.Write("Serial: ");
string sSerial;
sSerial = Console.ReadLine();
byte[] bfName = NonEmptyBytes(ckc.E0(sName.Replace(',', ' ')));
byte[] bfCompany = NonEmptyBytes(ckc.E0(sCompany.Replace(',', ' ')));
byte[] bfSerial = NonEmptyBytes(ckc.E0(sSerial.Replace(',', ' ')));
RegistryKey key1 = Registry.CurrentUser.CreateSubKey(@"Software\Data Dynamics\ActiveReports for .NET 3.0");
key1.SetValue("62D12084-D57A-4e5b-A17B-A625D4622EAE", bfName);
key1.SetValue("E84CC406-7C42-40ee-8439-7CEAE3C18F47", bfCompany);
key1.SetValue("CD84FA0F-A5F1-4f51-BCD2-2E83F594D66D", bfSerial);
// Read from ActiveReports3.dll: DataDynamics.ActiveReports.InternalC.DDLP.KValuePro
string MagicString = "aifaiansfnamsnfomnfaawrby";
RegistryKey key_reg = Registry.ClassesRoot.CreateSubKey(@"Licenses\\DD39D520-4330-4235-A742-12F397771E13");
key_reg.SetValue("", MagicString);
Console.WriteLine(@"Done to write!");
Console.WriteLine();
string sLicense = ckc.CK(sName.Replace(',', ' '), sCompany.Replace(',', ' '), sSerial.Replace(',', ' '), MagicString);
string DataDynamicsARLic = string.Format("{0},{1},{2},{3}", new object[] { sName, sCompany, sSerial, sLicense });
Console.WriteLine(string.Format("Please call ActiveReport3.SetLicense(\"{0}\") to register ActiveReport\r\n\r\n",DataDynamicsARLic));
Console.WriteLine("Or use the following configuration: \r\n");
StringBuilder builder1 = new StringBuilder();
builder1.Append("<configuration>\r\n");
builder1.Append("<!-- application specific settings -->\r\n");
builder1.Append("<appSettings>\r\n");
builder1.AppendFormat("<add key=\"DataDynamicsARLic\" value=\"{0}\" />\r\n", DataDynamicsARLic);
builder1.Append("</appSettings>\r\n");
builder1.Append("</configuration>\r\n");
Console.WriteLine(builder1);
Console.WriteLine("Please notice char '-' can be replace to any char if you like");
Console.ReadLine();
}
}
public class CKC
{
public CKC()
{
this.decoy1 = new char[] {
'F', '8', '4', 'H', 'D', 'K', 'B', 'I', 'D', 'H', 'E', '0', 'A', 'N', 'L', 'D',
'Y', 'W', 'P', 'Q', 'N', 'F', 'K'
};
this.decoy2 = new char[] {
'2', 'N', 'D', 'L', 'S', 'H', 'B', 'Y', 'F', 'A', 'S', 'D', '4', 'L', 'K', 'H',
'R', '7', 'Y', 'V', 'A', 'S', 'O'
};
this.encodeMap = new char[] {
'4', 'K', 'E', '9', 'H', '8', 'S', 'H', '4', 'I', 'F', '7', 'O', 'V', 'F', '7',
'W', 'U', 'J', 'S', 'M', '9', '7'
};
}
public string CK(string sName, string sCompany, string sSerial, string sLicense)
{
byte[] buf1;
IntPtr ptr;
int NameLength = sName.Length;
int CompanyLength = sCompany.Length;
int SerialLength = sSerial.Length;
int LicenseLength = sLicense.Length;
char[] retRev = new char[20];
int num6 = 0;
byte[] bfName = this.E0(sName);
byte[] bfCompany = this.E0(sCompany);
byte[] bfSerial = this.E0(sSerial);
byte[] bfLicense = this.E0(sLicense);
int NameSum = 0;
int i = 0;
while (i < NameLength)
{
NameSum += bfName[i];
i++;
}
retRev[0x10] = this.encodeMap[NameSum % 0x16]; // retChar[3] is NameSum
int CompanyLicenseSum = 0;
i = 0;
while (i < CompanyLength)
{
CompanyLicenseSum += bfCompany[i];
i++;
}
i = 0;
while (i < LicenseLength)
{
CompanyLicenseSum += bfLicense[i];
i++;
}
retRev[0x11] = this.encodeMap[CompanyLicenseSum % 0x16]; // retChar[2] is CompanyLicenseSum
int SerialSum = 0;
i = 0;
while (i < SerialLength)
{
SerialSum += bfSerial[i];
i++;
}
retRev[0x12] = this.encodeMap[SerialSum % 0x16]; // retChar[1] is SerialSum
byte[] buf2 = new byte[0x100];
// retChar[13-17] is Name^Serial
Array.Clear(buf2, 0, 0x100);
i = 0;
while ((i < NameLength) || (i < SerialLength))
{
(buf1 = buf2)[(int) (ptr = (IntPtr) i)] = (byte) (buf1[(int) ptr] ^ bfName[i]);
(buf1 = buf2)[(int) (ptr = (IntPtr) i)] = (byte) (buf1[(int) ptr] ^ bfSerial[i]);
i++;
}
i = 2;
while (i <= 6)
{
retRev[i] = this.encodeMap[(buf2[i - 2] + i) % 0x16];
num6 += this.decoy1[buf2[i - 2] % 0x16];
i++;
}
// retChar[6-10] is Company^Serial
Array.Clear(buf2, 0, 0x100);
i = 0;
while ((i < CompanyLength) || (i < SerialLength))
{
(buf1 = buf2)[(int) (ptr = (IntPtr) i)] = (byte) (buf1[(int) ptr] ^ bfCompany[i]);
(buf1 = buf2)[(int) (ptr = (IntPtr) i)] = (byte) (buf1[(int) ptr] ^ bfSerial[i]);
i++;
}
i = 9;
while (i <= 13)
{
retRev[i] = this.encodeMap[(buf2[i - 9] + i) % 0x16];
num6 -= this.decoy2[buf2[i - 9] % 0x16];
i++;
}
retRev[0] = '-'; // retChar[0x13] ignore
retRev[1] = '-'; // retChar[0x12] ignore
retRev[7] = '-'; // retChar[12] ignore
retRev[8] = '-'; // retChar[11] ignore
retRev[15] = '-'; // retChar[4] ignore
retRev[14] = '-'; // retChar[5] also unused fill no-zero
// retRevSum[0x13] is Sum Bit
int retRevSum = 0;
i = 0;
while (i < 0x13)
{
retRevSum += retRev[i];
i++;
}
retRev[0x13] = this.encodeMap[retRevSum % 0x16];
// reverse retRev to retChar
char[] retChar = new char[20];
for (int j = 0; j < 20; j++)
{
retChar[j] = retRev[0x13 - j];
}
return new string(retChar);
}
public byte[] E0(string str)
{
byte t;
int strLength = str.Length;
byte[] retBuf = new byte[0x100];
Array.Clear(retBuf, 0, 0x100);
int i = 0;
while (i < strLength)
{
retBuf[i * 2] = (byte) (str[i] & '\x00ff');
retBuf[(i * 2) + 1] = (byte) ((str[i] >> 8) & '\x00ff');
i++;
}
i = 0;
while (i < (strLength * 2))
{
t = retBuf[i];
t = (byte) (((t & 15) << 4) | (15 & (t >> 4)));
t = (byte) (t ^ (i + 1));
retBuf[i] = t;
i++;
}
for (i = 0; i < (strLength * 2); i++)
{
t = (byte) (retBuf[i] ^ (strLength * 2));
retBuf[i] = t;
}
return retBuf;
}
private char[] decoy1;
private char[] decoy2;
private char[] encodeMap;
private const int ENCODEMAP_SIZE = 0x16;
}
}
可以看到,如果我再找不到工作,将会成为一个危险的人,为了IT产业健康发展,社会安定,来招聘我吧。