j_hallows
March 25th, 2002, 06:20
I need a little help finding a password for Installshield Password Protected EXE. Any Hints on what to look for when tracing with softice. Thanks.
View Full Version : Installshield Password Protected Self Extracting EXE
001B:004037E9 PUSH 00000404
001B:004037EE PUSH DWORD PTR [ESP+08]
001B:004037F2 CALL [USER32!GetDlgItem]
001B:004037F8 TEST EAX,EAX
001B:004037FA JZ 00403828
001B:004037FC PUSH 00000080
001B:00403801 PUSH DWORD PTR [00416178]
001B:00403807 PUSH EAX
001B:00403808 CALL [USER32!GetWindowTextA] <-----our breakpoint
001B:0040380E PUSH DWORD PTR [00416178]
001B:00403814 CALL 004038A7 <-----hash algorithm inside
001B:00403819 POP ECX
001B:0040381A XOR ECX,ECX
001B:0040381C CMP EAX,[00416118] <------good guy or bad guy
001B:00403822 SETZ CL
001B:00403825 MOV EAX,ECX
001B:00403827 RET
Originally posted by Solomon hi thewd, Your tool works perfectly! ![]() j_hallows, the installation still needs a serial ![]() |
#define MAX_PRODUCT_TYPE 17
AnsiString TypeString[] =
{
"PPR",//Paradigm C++ PRO (x86 tool suites)
"PSS",//Paradigm C++ SuperTAP
"PSF",//Paradigm C++ for FS2
"PEF",//Paradigm C++ for FS2 (16/24-bit)
"PER",//Paradigm C++ for VAutomation
"PSR",//PSR(unknown)
"PRK",//Paradigm RTOS16 License
"PRS",//Paradigm RTOS16 License & Source
"PPK",//Paradigm RTOS32 License
"PPS",//Paradigm RTOS32 License & Source
"RTP",//Paradigm RTIP
"BTR",//Paradigm C++ (16-bit tool suite)
"BTE",//Paradigm C++ (24-bit tool suites)
"BTF",//Paradigm C++ PRO (x86 tool suites)
"PDF",//Paradigm Embedded File System
"PPM",//Paradigm C++ PRO with JTAG
"AMD" //Paradigm C++ - AMD Edition
};
long ProductCode[] =
{
0x8ead3f,
0x89cddf,
0x5f13cd,
0x62dbfe,
0x11e7e1,
0x0fe41e,
0x398a22,
0x6f51b5,
0x4b4c8d,
0x5a72bd,
0x29df9d,
0x4ca011,
0x72aad6,
0x5b4127,
0x5ec5af,
0x98967f,
0x98967f
};
//---------------------------------------------------------------------------
void __fastcall TForm1::GenerateKeyButtonClick(TObject *Sender)
{
if ((ListBox->ItemIndex < 0) || (ListBox->ItemIndex >= MAX_PRODUCT_TYPE))
{
Application->MessageBox("You must specify license type!", "Error", MB_ICONWARNING | MB_OK);
return;
}
long Temp = GetTickCount( ) % 100000L;
long Code = ProductCode[ListBox->ItemIndex];
long Final;
//ripped from ispid._dllentryproc( )
__asm
{
pushad
MOV ECX,0x3B9ACA00
MOV EAX,[Code]
IMUL DWORD PTR [Temp]
INC EAX
XOR EDX,EDX
DIV ECX
MOV ECX,EDX
MOV EAX,ECX
MOV ECX,0x00002710
CDQ
IDIV ECX
MOV EDX,EAX
MOV ECX,0x00002710
LEA EAX,[EAX*4+EDX]
SHL EAX,3
SUB EAX,EDX
SHL EAX,4
ADD EAX,EDX
SHL EAX,4
SUB EAX,EDX
CDQ
IDIV ECX
mov dword ptr[Final], eax
popad
}
AnsiString s;
s = s.sprintf("%05lu%05lu", Temp, Final);
SerialEdit->Text = TypeString[ListBox->ItemIndex] + s;
}
Originally posted by j_hallows Ya I know but at least I am one step of the way. Not only a serial but CrypKey 5.6 Keygen. |
I don't quite get what you are saying. I know CRYPKEY SDK generates valid keys but you need the sitecode to do this first. Are you suggesting I patch the sdk to accept any site code? I did search previous messages but I don't see any that relates to my problem. |
Originally posted by Solomon j_hallows, why did you delete your posts in this thread? I can understand why you removed the software URL in you post. ![]() |