//这个就直接IDA提取了吧.
/*sub_4040F0*/
__int64modexp(__int64 a1, unsigned __int64 a2, unsigned __int64 a3)
{
__int64 result; // rax
unsigned __int64 i; // rdi
result = 1i64;
for ( i = 1i64; i <= a2; ++i )
result = result * a1 % a3;
return result;
}
std::string GenerateAudioCapture(std::string Email)
{
std::string dwRetBuffer = "";
char sztemp={0};
DWORD D = 0xb2b7;
DWORD N = 0x707075;
DWORD E = 0x186907;
DWORD *x = (DWORD *)sztemp;
DWORD AscNum = 0;
char tempLine={0};
for (int i=0;i<Email.length();i++)
{
x = Email.at(i) & 0xff;
AscNum += x;
if( i < 6)
{
sprintf(tempLine,"%.6X" , modexp( x , D , N ));
dwRetBuffer += tempLine;
}
}
sprintf(tempLine,"%.6X" , modexp( AscNum , D , N ));
dwRetBuffer += tempLine;
return dwRetBuffer;
}
void main()
{
printf("%s\n", GenerateAudioCapture("by xxxxxx").c_str());
}
希望大家进步!
页:
1
[2]