X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Client%20Applications%2Frcracki_mt%2FChainWalkContext.cpp;h=deb6f511e58e1eedb8b52366dbad02dfb0b60f9b;hb=786ea114f61629ef4e4bfb63e1fd7c9c0b1654ef;hp=417d90013b4eee211aaedb431b90cd11bdd63e80;hpb=0fb676244827a448dc60118d6558c4a4e346ffee;p=freerainbowtables diff --git a/Client Applications/rcracki_mt/ChainWalkContext.cpp b/Client Applications/rcracki_mt/ChainWalkContext.cpp index 417d900..deb6f51 100644 --- a/Client Applications/rcracki_mt/ChainWalkContext.cpp +++ b/Client Applications/rcracki_mt/ChainWalkContext.cpp @@ -5,7 +5,7 @@ * Copyright (C) Zhu Shuanglei * Copyright Martin Westergaard Jørgensen * Copyright 2009, 2010 Daniël Niggebrugge - * Copyright 2009, 2010 James Nobis + * Copyright 2009, 2010, 2011 James Nobis * Copyright 2010 Yngve AAdlandsvik * * This file is part of rcracki_mt. @@ -410,8 +410,12 @@ void CChainWalkContext::Dump() printf("hash routine: %s\n", m_sHashRoutineName.c_str()); printf("hash length: %d\n", m_nHashLen); + printf( "m_vCharset[0].m_nPlainCharSetLen: %d\n", m_vCharset[0].m_nPlainCharsetLen ); + printf( "m_vCharset[1].m_nPlainCharSetLen: %d\n", m_vCharset[1].m_nPlainCharsetLen ); + printf("plain charset: "); unsigned int i; + for (i = 0; i < m_vCharset[0].m_nPlainCharsetLen; i++) { if (isprint(m_vCharset[0].m_PlainCharset[i])) @@ -553,15 +557,11 @@ void CChainWalkContext::IndexToPlain() } m_Plain[i] = m_vCharset[j].m_PlainCharset[nTemp]; #else - __asm__ __volatile__ ( "mov %2, %%eax;" - "xor %%edx, %%edx;" + __asm__ __volatile__ ("xor %%edx, %%edx;" "divl %3;" - "mov %%eax, %0;" - "mov %%edx, %1;" - : "=m"(nIndexOfX32), "=m"(nTemp) - : "m"(nIndexOfX32), "m"(m_vCharset[j].m_nPlainCharsetLen) - : "%eax", "%edx" - ); + : "=a"(nIndexOfX32), "=d"(nTemp) + : "a"(nIndexOfX32), "rm"(m_vCharset[j].m_nPlainCharsetLen) + : ); m_Plain[i] = m_vCharset[j].m_PlainCharset[nTemp]; #endif break;