Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Поиск сигнатур.

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 29.11.2012, 20:56   #1
 Разведчик
Аватар для Workoutt
 
Workoutt никому не известный тип
Регистрация: 23.11.2012
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Поиск сигнатур.

Здравствуйте! Написал код для поиска цепочки байт, то есть почти написал) Этот код считывает весь найденый регион памяти в процессе.
Но он не умеет искать в этом регионе памяти заданную сигнатуру. Скажите пожалуйста как сделать такую штукенцию?)
Вот собсно код:
Код:
public void memsrc()
        {
            Process hackProc = Process.GetProcessesByName("WindowsFormsApplication1.vshost")[0];

            MEMORY_BASIC_INFORMATION mbi = new MEMORY_BASIC_INFORMATION();
            SYSTEM_INFO si = new SYSTEM_INFO();
            GetSystemInfo(ref si);

            byte[] pattern = new byte[] { 0x2A, 0x00, 0x00, 0x0F, 0xB6, 0x87, 0x81, 0x02, 0x00, 0x00, 0x3D };

            var startMem = 0;
            var counter = 0;
            startMem = (int)mbi.BaseAddress;
            IntPtr nRead = IntPtr.Zero;

            VirtualQueryEx(hackProc.Handle, (IntPtr)startMem, ref mbi, Marshal.SizeOf(typeof(MEMORY_BASIC_INFORMATION)));
            byte[] buffer = new byte[(uint)mbi.RegionSize];
            ReadProcessMemory(hackProc.Handle, (IntPtr)startMem, buffer, (uint)mbi.RegionSize, ref nRead);
}
  Ответить с цитированием
Старый 29.11.2012, 22:38   #2
 Старший сержант
Аватар для Sinyss
 
Sinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака Норриса
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
Отправить сообщение для Sinyss с помощью Skype™
 
По умолчанию Re: Поиск сигнатур.

Ну насколько я понимаю вот этот метод: ReadProcessMemory() выдаст тебе всю область, так в чем трабла найти там нужные значения?
  Ответить с цитированием
Старый 29.11.2012, 23:28   #3
 Разведчик
Аватар для Workoutt
 
Workoutt никому не известный тип
Регистрация: 23.11.2012
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Поиск сигнатур.

На С++ понимаю как, но C# совсем другой и на нем такое не вкурю как сделать.
Надо что-то типа того:
Код:
if (pattern.Length < (int)mbi.RegionSize)
            {
                for (var i = 0; i < (int)mbi.RegionSize; i++)
                {
                    if (buffer[i] == pattern[0])
                    {
                        for (var j = 0; j < pattern.Length; j++)
                        {
                            if (buffer[i + j] == pattern[j])
                            {
                                counter++;
                                if (counter == pattern.Length)
                                {
                                    int result = i + startMem;
                                    return;
                                }
                                else
                                {
                                    counter = 0;
                                } 
                            }
                        }
                    }
                }
            }

Последний раз редактировалось Workoutt; 29.11.2012 в 23:31.
  Ответить с цитированием
Старый 29.11.2012, 23:45   #4
 Старший сержант
Аватар для Sinyss
 
Sinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака Норриса
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
Отправить сообщение для Sinyss с помощью Skype™
 
По умолчанию Re: Поиск сигнатур.

Цитата:
Сообщение от WorkouttПосмотреть сообщение
На С++ понимаю как, но C# совсем другой и на нем такое не вкурю как сделать.

В работе с массивами - одно и тоже...
  Ответить с цитированием
Старый 30.11.2012, 02:36   #5
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: Поиск сигнатур.

Самый простой алгоритм который пришел в голову
Код:
public static int indexOf(byte[] self, byte[] pattern, int start)
{
    for (int i = start; i < self.Length - pattern.Length + 1; i++)
    {
        if(self[i] == pattern[0])
            if (IsMatch(self, i, pattern))
                return i;
    }

    return -1;
}

public static int indexOf(byte[] self, byte[] pattern)
{
    return indexOf(self, pattern, 0);
}

private static bool IsMatch(byte[] array, int position, byte[] pattern)
{
    for (int i = 0; i < pattern.Length; i++)
        if (array[position + i] != pattern[i])
            return false;

    return true;
}
________________
Talk is cheap. Show me the code
— Linus Torvalds

Последний раз редактировалось Yukikaze; 30.11.2012 в 02:42.
  Ответить с цитированием
Пользователь сказал cпасибо:
крайслер (30.11.2012)
Старый 30.11.2012, 13:50   #6
 Разведчик
Аватар для Workoutt
 
Workoutt никому не известный тип
Регистрация: 23.11.2012
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Поиск сигнатур.

Хм, а как это все соединить и вызывать по нажатию кнопки?
  Ответить с цитированием
Старый 06.12.2012, 19:21   #7
 Разведчик
Аватар для Workoutt
 
Workoutt никому не известный тип
Регистрация: 23.11.2012
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Поиск сигнатур.

Але) Есть кто живой?)
  Ответить с цитированием
Старый 06.12.2012, 19:52   #8
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: Поиск сигнатур.

иди учи основы
________________
Talk is cheap. Show me the code
— Linus Torvalds
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Руководство] Сканер адрессов + Поиск сигнатур крайслер Разработка ПО для Point Blank 36 07.04.2015 22:05
[Помогите!] Сканер сигнатур Workoutt Вопросы и ответы, обсуждения 6 24.11.2012 21:25
[Информация] Генератор сигнатур,и не только! Cytres Общение и обсуждение по World of Tanks 0 26.08.2011 11:13
[Скрипт] Web-сервис генератора Email-сигнатур RUS Novichok Web-программирование и технологии 0 10.04.2010 22:01

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 03:22.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net