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

FindPattern c#

-

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

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

Ответ
 
Опции темы
Старый 16.08.2012, 18:01   #1
 Разведчик
Аватар для Stereo[TIP]
 
Stereo[TIP] никому не известный тип
Регистрация: 11.08.2012
Сообщений: 3
Популярность: 16
Сказал(а) спасибо: 4
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию FindPattern c#

Привет Всем
я хотел бы узнать как пользоваться паттерном на шарпе
на c++ функция выглядит так:

Код:
DWORD Function = FindPattern ((DWORD)i3exec, 0x2A715B2, (PBYTE)"\x55\x8B\xEC\x81\xEC\x9C\x01\x00\x00\x56\x89\x8D\x88\xFE\xFF\xFF", "x?xxxxx??xxxxxxxxx");
вот нашел [Ссылки могут видеть только зарегистрированные пользователи. ]

но не могу понять что к чему, обьясните пожалуйста
  Ответить с цитированием
Старый 16.08.2012, 18:05   #2
 Старший сержант
Аватар для крайслер
 
крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Отправить сообщение для крайслер с помощью Skype™
 
По умолчанию Re: FindPattern c#

Изучай

lgdfwifDB8o
.
________________

-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
  Ответить с цитированием
Пользователь сказал cпасибо:
Stereo[TIP] (16.08.2012)
Старый 16.08.2012, 18:59   #3
 Разведчик
Аватар для Stereo[TIP]
 
Stereo[TIP] никому не известный тип
Регистрация: 11.08.2012
Сообщений: 3
Популярность: 16
Сказал(а) спасибо: 4
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: FindPattern c#

крайслер, там есть только как найти сам паттерн а класа с паттерном нету
  Ответить с цитированием
Старый 16.08.2012, 19:04   #4
 Старший сержант
Аватар для крайслер
 
крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Отправить сообщение для крайслер с помощью Skype™
 
По умолчанию Re: FindPattern c#

Цитата:
Сообщение от Stereo[TIP]Посмотреть сообщение
крайслер, там есть только как найти сам паттерн а класа с паттерном нету

О как.. все 25 минут обьясняют как нажать две кнопки? Возможно мы о разных видео-уроках говорим...
________________

-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
  Ответить с цитированием
Старый 16.08.2012, 19:09   #5
 Разведчик
Аватар для Stereo[TIP]
 
Stereo[TIP] никому не известный тип
Регистрация: 11.08.2012
Сообщений: 3
Популярность: 16
Сказал(а) спасибо: 4
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: FindPattern c#

он минут 5 ищет через СЕ и олю паттерн после этого еще 15 все это в исход пишет и проверяет и еще 5 подводит итог, вот скажи мне где на видео видно клас паттерна, там только часть кода..
  Ответить с цитированием
Старый 16.08.2012, 19:47   #6
 Старший сержант
Аватар для крайслер
 
крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Отправить сообщение для крайслер с помощью Skype™
 
По умолчанию Re: FindPattern c#

Код:
 

private static byte[] _file;


private static int FindPattern(byte[] btPattern, string strMask)

        {

            try

            {

                if (strMask.Length != btPattern.Length)

                    return -1;

                for (int x = 0; x < _file.Length; x++)

                {

                    if (MaskCheck(x, btPattern, strMask))

                    {

                        return x;

                    }

                }

                return -1;

            }

            catch (Exception ex)

            {

                return -1;

            }

        }

 

        private static bool MaskCheck(int nOffset, byte[] btPattern, string strMask)

        {

            return !btPattern.Where((t, x) => strMask[x] != '?' && ((strMask[x] == 'x') && (t != _file[nOffset + x]))).Any();

        }
Код:
Бла-Бла =  FindPattern(new byte[] {0x55, 0x8b, 0xec, 0x83, 0xec, 0x00, 0x53, },"xxxxx?x");
________________

-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!

Последний раз редактировалось крайслер; 16.08.2012 в 20:27.
  Ответить с цитированием
Пользователь сказал cпасибо:
Stereo[TIP] (16.08.2012)
Старый 16.08.2012, 19:52   #7
 Разведчик
Аватар для Stereo[TIP]
 
Stereo[TIP] никому не известный тип
Регистрация: 11.08.2012
Сообщений: 3
Популярность: 16
Сказал(а) спасибо: 4
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: FindPattern c#

крайслер, прости, я слепой

Добавлено через 44 минуты
крайслер, а например как можно адрес вывести в текст бокс?
Код:
int Find = FindPattern(new byte[] { 0x55, 0x8B, 0xEC, 0x81, 0xEC, 0x9C, 0x01, 0x00, 0x00, 0x56, 0x89, 0x8D, 0x88, 0xFE, 0xFF, 0xFF }, "x?xxxxx??xxxxxxxxx");
label1.Text = Find.ToString();
не проконало, нужен модуль же..

Последний раз редактировалось Stereo[TIP]; 16.08.2012 в 20:37. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 16.08.2012, 20:50   #8
 Старший сержант
Аватар для крайслер
 
крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Отправить сообщение для крайслер с помощью Skype™
 
По умолчанию Re: FindPattern c#

Цитата:
Сообщение от Stereo[TIP]Посмотреть сообщение
крайслер, а например как можно адрес вывести в текст бокс?

незнаю, так как не было необходимости использовать сигнатуры в шарпе...

Вот вроде консолька с выводом... разбирайся
Код:
using System;

using System.IO;

namespace Patch_libnp

{

        internal class Program

        {

                private static byte[] _file;

                private static void Main(string[] args)

                {

                        if (!File.Exists("libnp.dll"))

                        {

                                Console.WriteLine("libnp.dll not found, exiting...");

                        }

                        else

                        {

                                Console.WriteLine("Loading libnp.dll....");

                                Program._file = File.ReadAllBytes("libnp.dll");

                                Console.WriteLine("Finding patch point...");

                                int num = Program.FindPattern(new byte[]

                                {

                                        85, 

                                        139, 

                                        236, 

                                        131, 

                                        236, 

                                        0, 

                                        83, 

                                        86, 

                                        87, 

                                        139, 

                                        69, 

                                        0, 

                                        163, 

                                        0, 

                                        0, 

                                        0, 

                                        0, 

                                        106, 

                                        0, 

                                        255, 

                                        21, 

                                        0, 

                                        0, 

                                        0, 

                                        0, 

                                        131, 

                                        196, 

                                        0, 

                                        95, 

                                        94, 

                                        91, 

                                        139, 

                                        229

                                }, "xxxxx?xxxxx?x????x?xx????xx?xxxxx");

                                if (num == -1)

                                {

                                        Console.WriteLine("Patch point not found! Exiting...");

                                }

                                else

                                {

                                        Program._file[num] = 195;

                                        Console.WriteLine("Backing up libnp.dll as libnp.dll.bak");

                                        File.Move("libnp.dll", "libnp.dll.bak");

                                        Console.WriteLine("Writing patches...");

                                        File.WriteAllBytes("libnp.dll", Program._file);

                                        Console.Read();

                                }

                        }

                }

                public static int FindPattern(byte[] btPattern, string strMask)

                {

                        int result;

                        try

                        {

                                if (strMask.Length != btPattern.Length)

                                {

                                        result = -1;

                                }

                                else

                                {

                                        for (int i = 0; i < Program._file.Length; i++)

                                        {

                                                if (Program.MaskCheck(i, btPattern, strMask))

                                                {

                                                        result = i;

                                                        return result;

                                                }

                                        }

                                        result = -1;

                                }

                        }

                        catch (Exception var_1_45)

                        {

                                result = -1;

                        }

                        return result;

                }

                private static bool MaskCheck(int nOffset, byte[] btPattern, string strMask)

                {

                        bool result;

                        for (int i = 0; i < btPattern.Length; i++)

                        {

                                if (strMask[i] != '?')

                                {

                                        if (strMask[i] == 'x' && btPattern[i] != Program._file[nOffset + i])

                                        {

                                                result = false;

                                                return result;

                                        }

                                }

                        }

                        result = true;

                        return result;

                }

        }

}
________________

-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
  Ответить с цитированием
Старый 17.08.2012, 12:58   #9
 Разведчик
Аватар для Stereo[TIP]
 
Stereo[TIP] никому не известный тип
Регистрация: 11.08.2012
Сообщений: 3
Популярность: 16
Сказал(а) спасибо: 4
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: FindPattern c#

крайслер, толи я опять ослеп то ли нету там вывода адреса..
  Ответить с цитированием
Ответ


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

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

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

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

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

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