diff -ruN clean/rainbowcrack-1.2-src/src/ChainWalkContext.cpp bgt_mods/rainbowcrack-1.2-src/src/ChainWalkContext.cpp --- clean/rainbowcrack-1.2-src/src/ChainWalkContext.cpp Thu Apr 1 22:33:46 2004 +++ bgt_mods/rainbowcrack-1.2-src/src/ChainWalkContext.cpp Fri Apr 2 11:39:23 2004 @@ -398,13 +398,14 @@ unsigned int nIndexOfX32 = (unsigned int)nIndexOfX; for (; i >= 0; i--) { + +#ifdef __APPLE__ m_Plain[i] = m_PlainCharset[nIndexOfX32 % m_nPlainCharsetLen]; nIndexOfX32 /= m_nPlainCharsetLen; - +#else unsigned int nPlainCharsetLen = m_nPlainCharsetLen; unsigned int nTemp; -/* -#ifdef _WIN32 +#ifdef _WIN32 __asm { mov eax, nIndexOfX32 @@ -424,8 +425,9 @@ : "%eax", "%edx" ); #endif -*/ m_Plain[i] = m_PlainCharset[nTemp]; +#endif + } } diff -ruN clean/rainbowcrack-1.2-src/src/Public.cpp bgt_mods/rainbowcrack-1.2-src/src/Public.cpp --- clean/rainbowcrack-1.2-src/src/Public.cpp Sun Nov 23 00:32:52 2003 +++ bgt_mods/rainbowcrack-1.2-src/src/Public.cpp Wed Apr 7 12:37:33 2004 @@ -12,6 +12,9 @@ #ifdef _WIN32 #include +#elif defined __APPLE__ + #include + #include #else #include #endif @@ -156,6 +159,18 @@ MEMORYSTATUS ms; GlobalMemoryStatus(&ms); return ms.dwAvailPhys; +#elif __APPLE__ + struct vm_statistics vms; + static mach_port_t myHost; + int count = HOST_VM_INFO_COUNT; + int page_size; + + if( ! myHost ) { + myHost = mach_host_self(); + } + host_statistics( myHost, HOST_VM_INFO, (host_info_t) &vms, (mach_msg_type_number_t *)&count); + host_page_size( myHost, (vm_size_t *)&page_size); + return( page_size * vms.free_count); #else struct sysinfo info; sysinfo(&info); // This function is Linux-specific diff -ruN clean/rainbowcrack-1.2-src/src/makefile.mac bgt_mods/rainbowcrack-1.2-src/src/makefile.mac --- clean/rainbowcrack-1.2-src/src/makefile.mac Wed Dec 31 18:00:00 1969 +++ bgt_mods/rainbowcrack-1.2-src/src/makefile.mac Tue Apr 6 23:24:12 2004 @@ -0,0 +1,14 @@ + +all: rtgen rtdump rtsort rcrack + +rtgen: + g++ Public.cpp ChainWalkContext.cpp HashAlgorithm.cpp HashRoutine.cpp RainbowTableGenerate.cpp -lssl -lcrypto -O3 -o rtgen + +rtdump: + g++ Public.cpp ChainWalkContext.cpp HashAlgorithm.cpp HashRoutine.cpp RainbowTableDump.cpp -lssl -lcrypto -o rtdump + +rtsort: + g++ Public.cpp RainbowTableSort.cpp -o rtsort + +rcrack: + g++ Public.cpp ChainWalkContext.cpp HashAlgorithm.cpp HashRoutine.cpp HashSet.cpp MemoryPool.cpp ChainWalkSet.cpp CrackEngine.cpp RainbowCrack.cpp -lssl -lcrypto -O3 -o rcrack