]> git.sesse.net Git - freerainbowtables/blobdiff - Client Applications/rcracki_mt/ChainWalkContext.cpp
(C)
[freerainbowtables] / Client Applications / rcracki_mt / ChainWalkContext.cpp
index 417d90013b4eee211aaedb431b90cd11bdd63e80..4fdcf6e2d08811264d1d2ce58648fa4fb016b15d 100644 (file)
@@ -5,7 +5,7 @@
  * Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>\r
  * Copyright Martin Westergaard Jørgensen <martinwj2005@gmail.com>\r
  * Copyright 2009, 2010 Daniël Niggebrugge <niggebrugge@fox-it.com>\r
- * Copyright 2009, 2010 James Nobis <frt@quelrod.net>\r
+ * Copyright 2009, 2010, 2011 James Nobis <frt@quelrod.net>\r
  * Copyright 2010 Yngve AAdlandsvik\r
  *\r
  * This file is part of rcracki_mt.\r
@@ -25,7 +25,7 @@
  */\r
 \r
 #if defined(_WIN32) && !defined(__GNUC__)\r
-       #pragma warning(disable : 4786 4267 4018)\r
+       #pragma warning(disable : 4786)\r
 #endif\r
 \r
 #include "ChainWalkContext.h"\r
@@ -410,8 +410,12 @@ void CChainWalkContext::Dump()
        printf("hash routine: %s\n", m_sHashRoutineName.c_str());\r
        printf("hash length: %d\n", m_nHashLen);\r
 \r
+       printf( "m_vCharset[0].m_nPlainCharSetLen: %d\n", m_vCharset[0].m_nPlainCharsetLen );\r
+       printf( "m_vCharset[1].m_nPlainCharSetLen: %d\n", m_vCharset[1].m_nPlainCharsetLen );\r
+\r
        printf("plain charset: ");\r
        unsigned int i;\r
+       \r
        for (i = 0; i < m_vCharset[0].m_nPlainCharsetLen; i++)\r
        {\r
                if (isprint(m_vCharset[0].m_PlainCharset[i]))\r
@@ -553,15 +557,11 @@ void CChainWalkContext::IndexToPlain()
                }\r
                m_Plain[i] = m_vCharset[j].m_PlainCharset[nTemp];\r
 #else\r
-               __asm__ __volatile__ (  "mov %2, %%eax;"\r
-                                                               "xor %%edx, %%edx;"\r
+               __asm__ __volatile__ ("xor %%edx, %%edx;"\r
                                                                "divl %3;"\r
-                                                               "mov %%eax, %0;"\r
-                                                               "mov %%edx, %1;"\r
-                                                               : "=m"(nIndexOfX32), "=m"(nTemp)\r
-                                                               : "m"(nIndexOfX32), "m"(m_vCharset[j].m_nPlainCharsetLen)\r
-                                                               : "%eax", "%edx"\r
-                                                        );\r
+                                                               : "=a"(nIndexOfX32), "=d"(nTemp)\r
+                                                               : "a"(nIndexOfX32), "rm"(m_vCharset[j].m_nPlainCharsetLen)\r
+                                                               : );\r
                m_Plain[i] = m_vCharset[j].m_PlainCharset[nTemp];\r
 #endif\r
                break;\r