Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 24.10.2009
Сообщений: 20

внедрение пакетов

25.10.2010, 16:29. Показов 1812. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые знатоки,кто то сталкивался с внедрением самописных пакетов в обмен между клиентом и сервером на шарпе?(наподобии того что делается в программе WPE pro) Буду рад любой информации, заранее благодарен.
С уважением,
Александр
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.10.2010, 16:29
Ответы с готовыми решениями:

внедрение Flash
Доброго времени суток уважаемые форумчане, в общем мне нужно как то взаимодействовать с flesh из браузера, то есть автоматизировать...

Внедрение в браузер
Здравствуйте. Подскажите пожалуйста,как отправить данные из программы в web-браузер. Например так чтобы,текст отправляемый из программы...

Внедрение в другой процесс
Запущена игра (Counter-Strike 1.6). Стоит задача, чтобы отдельное .NET приложение смогло отправить свою команду в консоль игры. До этого...

10
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
25.10.2010, 19:35
можно написать свой ТСР прокси, через который будет ходит трафик.
0
0 / 0 / 0
Регистрация: 24.10.2009
Сообщений: 20
25.10.2010, 22:01  [ТС]
а подробнее?Если бы я знал как это делается в идеале, то не спрашивал бы)
0
burning1ife
 Аватар для kenny69
1466 / 1287 / 294
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
25.10.2010, 22:37
пример клиент-серверного приложения
Вложения
Тип файла: zip Projects.zip (50.0 Кб, 33 просмотров)
1
burning1ife
 Аватар для kenny69
1466 / 1287 / 294
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
25.10.2010, 22:49
http://www.microsoft.com/Rus/M... nsock.mspx - хорошая статья
0
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
25.10.2010, 23:39
если не секрет, то в каком приложении вы собираетесь подменивать пакеты?

в этом деле очень много нюансов, и чтобы это сделать мало знать технологию соккетов.
Вам нужно знать сам процесс аутентификации приложения, знать алгоритм шифрования (если таков присутствует) знать опкоды и структуры пакетов.

Вот собственно почему я интересуюсь, что это за приложение, игра какая-то? world of warcraft?

Добавлено через 39 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
    public class ProcessMemoryReader : IDisposable
    {
        private readonly IntPtr hProcess;
        private readonly Process process;
 
        public ProcessMemoryReader(string processName)
        {
            Process[] processesByName = Process.GetProcessesByName(processName);
 
            if (processesByName.Length == 0)
            {
                throw new Exception(processName + " isn't running!");
            }
 
            process = processesByName[0];
            hProcess = Imported.OpenProcess(Imported.ProcessAccessFlags.VM_READ, false, process.Id);
 
            if (this.hProcess == IntPtr.Zero)
            {
                throw new Win32Exception(Marshal.GetLastWin32Error());
            }
        }
 
        public void Dispose()
        {
            process.Close();
            process.Dispose();
            Imported.CloseHandle(hProcess);
            GC.SuppressFinalize(this);
        }
 
        ~ProcessMemoryReader()
        {
            process.Close();
            process.Dispose();
        }
 
        public byte[] Read(uint offset, int length)
        {
            byte[] lpBuffer = new byte[length];
 
            Imported.ReadProcessMemory(hProcess, new IntPtr(offset), lpBuffer, new UIntPtr((uint)length), IntPtr.Zero);
 
            return lpBuffer;
        }
 
        public uint ReadUInt(uint offset)
        {
            byte[] lpBuffer = new byte[4];
 
            Imported.ReadProcessMemory(hProcess, new IntPtr(offset), lpBuffer, new UIntPtr(4), IntPtr.Zero);
 
            return BitConverter.ToUInt32(lpBuffer, 0);
        }
    }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
        /// <summary>
        /// The Microsoft Windows security model enables you to control access to process objects.
        /// </summary>
        public enum ProcessAccessFlags
        {
            /// <summary>
            /// [0x0080] 
            /// Required to create a process.
            /// </summary>
            CREATE_PROCESS              = 0x0080,
            /// <summary>
            /// [0x0002] 
            /// Required to create a thread.
            /// </summary>
            CREATE_THREAD               = 0x0002,
            /// <summary>
            /// [0x0040] 
            /// Required to duplicate a handle using DuplicateHandle.
            /// </summary>
            DUP_HANDLE                  = 0x0040,
            /// <summary>
            /// [0x0400] 
            /// Required to retrieve certain information about a process, 
            /// such as its token, exit code, and priority class 
            /// (see OpenProcessToken, GetExitCodeProcess, GetPriorityClass, and IsProcessInJob).
            /// </summary>
            QUERY_INFORMATION           = 0x0400,
            /// <summary>
            /// [0x1000] 
            /// Required to retrieve certain information about a process 
            /// (see QueryFullProcessImageName). 
            /// A handle that has the PROCESS_QUERY_INFORMATION access right 
            /// is automatically granted PROCESS_QUERY_LIMITED_INFORMATION.
            /// </summary>
            QUERY_LIMITED_INFORMATION   = 0x1000,
            /// <summary>
            /// [0x0200] 
            /// Required to set certain information about a process, such as its priority class (see SetPriorityClass).
            /// </summary>
            SET_INFORMATION             = 0x0200,
            /// <summary>
            /// [0x0100]
            /// Required to set memory limits using SetProcessWorkingSetSize.
            /// </summary>
            SET_QUOTA                   = 0x0100,
            /// <summary>
            /// [0x0800]
            /// Required to suspend or resume a process.
            /// </summary>
            SUSPEND_RESUME              = 0x0800,
            /// <summary>
            /// [0x0001]
            /// Required to terminate a process using TerminateProcess.
            /// </summary>
            TERMINATE                   = 0x0001,
            /// <summary>
            /// [0x0008]
            /// Required to perform an operation on the address space of a process (see VirtualProtectEx and WriteProcessMemory).
            /// </summary>
            VM_OPERATION                = 0x0008,
            /// <summary>
            /// [0x0010] 
            /// Required to read memory in a process using ReadProcessMemory.
            /// </summary>
            VM_READ                     = 0x0010,
            /// <summary>
            /// [0x0020]
            /// Required to write to memory in a process using WriteProcessMemory.
            /// </summary>
            VM_WRITE                    = 0x0020,
            /// <summary>
            /// [0x00100000]
            /// Required to wait for the process to terminate using the wait functions.
            /// </summary>
            SYNCHRONIZE                 = 0x00100000,
            /// <summary>
            /// [0x001F0FFF]
            /// All possible access rights for a process object.
            /// </summary>
            ALL_ACCESS                  = 0x001F0FFF,
        }
Добавлено через 1 минуту
дальше нужно просто читать и писать в память по определенным оффсетам.
а это есть основа того как работать с памятью.
1
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
25.10.2010, 23:41
Цитата Сообщение от Konctantin Посмотреть сообщение
дальше нужно просто читать и писать в память по определенным оффсетам.
Если тебе это кто-то позволит (если программа будет использоваться ни на одном компе) Без повышения привилегий ничего не получиться, да даже если и повысишь, и то - не факт.

Не по теме:

copy-paste рулит :D

0
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
25.10.2010, 23:50
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        private static void GrantDebuggerPrivileges(Process process)
        {
            IntPtr MyToken = IntPtr.Zero;
            Imported.OpenProcessToken(process.Handle, 0x28, ref MyToken);
            Imported.PrivilegeToken new_priv;
 
            new_priv.Count = 1;
            new_priv.Luid = 0;
            new_priv.Attr = 0x2;
 
            Imported.LookupPrivilegeValue(null, "SeDebugPrivilege", ref new_priv.Luid);
            Imported.AdjustTokenPrivileges(MyToken, false, ref new_priv, 0x10, IntPtr.Zero, IntPtr.Zero);
 
            Console.WriteLine("Granted debugger priviligies to process {0}.", process.Id);
        }
Если тебе это кто-то позволит (если программа будет использоваться ни на одном компе) Без повышения привилегий ничего не получиться, да даже если и повысишь, и то - не факт.
Именно по этому я склоняюсь к TCP-Proxy
1
90 / 89 / 13
Регистрация: 28.09.2010
Сообщений: 262
26.10.2010, 12:14
WinPCAP, у него есть обертка для .Net
0
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
26.10.2010, 18:43
и не работает он на впн-соединениях
0
90 / 89 / 13
Регистрация: 28.09.2010
Сообщений: 262
29.10.2010, 09:32
Если быть точным - он не работает на PPP соединениях. Т. е. на PPPoE так же работать не будет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.10.2010, 09:32
Помогаю со студенческими работами здесь

Внедрение системных команд в WF
Нужно реализовать меню, где будут такие системные команды при нажатии : Ctrl+C ( копировать ) Ctrl + V ( вставить ) Ctrl + X (...

Внедрение c# dll в exe
Всем привет, помогите с такими вопросами. 1. Как сделать инжектор который будет внедрять dll на c# в exe чтобы она работала в процессе,...

Внедрение Dll, написанной на C++ в Exe
Внедрение Dll в Exe (Не взлом! Свою Длл в свою Ехе)... Я создаю в с++ определённую Dll-ky, там есть как бы меню.. Это меню мне нужно...

Как реализовать внедрение dll без её извлечения на жесткий диск?
Вообщем такой вопрос, есть код внедрения dll в процесс using System; using System.Diagnostics; using...

Нахождение нужного процесса и внедрение в него нужной мне DLL
Здравствуйте, я бы хотел у вас попросить помощь одному коду на C# Это код для авто нахождения нужного процесса и и внедрения в него...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru