2016-01-26 9 views
1

Итак, у меня есть этот генератор хэш exe, в котором я должен найти строку, которая генерирует определенный хэш. Поскольку я знаю длину строки, мне было интересно, возможно, я могу использовать вложенные данные в исполняемый файл. Или, альтернативно, кто-то может сказать мне, как перестроить весь exe, чтобы узнать, как он генерирует хэш.Как вставлять в себя данные в exe?

+0

Не усложняйте ? Изучите сборку x86 и используйте OllyDbg для проверки/ввода в исполняемый код вашей программы, чтобы вы могли изучить его и, в конце концов, перепроектировать его. Проще сказать, очень сложно это сделать. –

+0

Ну, моя строка ввода - 13 символов. И у меня есть хеш, который будет сгенерирован после ввода строки, что я хочу знать, это то, что является строкой. Причина У меня есть длина, хэш, который он будет генерировать, и программа, которая генерирует хэш. – wargamer

+0

вы можете направить собственный генератор строк и перенаправить вывод std вашего exe в текстовый файл – Seb

ответ

1

Вы можете написать собственную программу для создания строк, которые вы хотите проверить (C#)

using System; 
using System.IO; 


namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      using (StreamWriter sw = new StreamWriter(@"C:\temp\keys.txt")) 
      { 
       for (int i = 0; i < 100; i++) 
       { 
        // Replace this line by the string you want to test 
        var str = Guid.NewGuid(); 
        Console.WriteLine(str); 
        sw.WriteLine(str); 
       } 
      } 

     } 
    } 
} 

затем, используйте команду перенаправления для перенаправления вывода этой консоли App в файл EXE. (См https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true) не забудьте перенаправить вывод ехе в текстовый файл, если вы хотите сохранить результаты

consoleAppCs.exe | YourExe.exe > "C:\temp\output.txt" 

тогда вы будете иметь два текстовых файлов для сравнения в папке c:\temp\