Перейти к содержанию

writeer

Стажёры
  • Постов

    6
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные writeer

  1. В 30.01.2020 в 20:58, Xipho сказал:

    В твоем коде. Если ты его откуда-то скопировал, но не понимаешь, как он работает - придется топать и учить основы, иначе придется на каждом шагу тебе подсказывать. 

    я знаю что мне нада в pixelformat изменть alphamode но при изиенение либо ошибка либо нет результата  

  2. Года я рисую линию у меня цвет фона становится черным 

    Спойлер
    
    using SharpDX;
    using System.Windows.Forms;
    using SharpDX.Direct2D1;
    using System.Drawing;
    using SharpDX.Mathematics.Interop;
    using Factory = SharpDX.Direct2D1.Factory;
    
    namespace testDX
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
    
                this.AllowTransparency = true;
                this.BackColor = Color.AliceBlue;
                this.TransparencyKey = this.BackColor;
            }
    
            public void Draw(SolidColorBrush _brush, WindowRenderTarget _device)
            {
                _device.BeginDraw();
                _device.DrawLine(new RawVector2(0, 0), new RawVector2(100, 100),_brush);
                _device.EndDraw();
            }
    
            private void button1_Click(object sender, System.EventArgs e)
            {
                var _factory = new Factory();
    
                var _renderProperties = new HwndRenderTargetProperties
                {
                    Hwnd = Handle,
                    PixelSize = new Size2(Size.Width, Size.Height),
                    PresentOptions = PresentOptions.None
                };                                              
    
                var _device = new WindowRenderTarget(_factory, new RenderTargetProperties(new PixelFormat(SharpDX.DXGI.Format.B8G8R8A8_UNorm,AlphaMode.Premultiplied)), _renderProperties);
                var _brush = new SolidColorBrush(_device, new RawColor4(255, 0, 0, 1f));
    
                Draw(_brush, _device);
            }
        }
    }

     

    что было до рисования:

    https://drive.google.com/file/d/1nQemv4q1MnxwUkYXcAP8tAvSoNXQr9AB/view?usp=sharing

    после:

    https://drive.google.com/file/d/1YN0yAvA-e-BDkmldS7g5QNlKSuPCljy1/view?usp=sharing

  3. 4 часа назад, Xipho сказал:

    Ты создаешь буфер нулевой длины. Выдели хотя бы 4 байта, и посмотри, что будет. Ну и в целом код бы переписать. Что будет, если ты на основе этого кода параллельно будет считывать значения из других адресов? У тебя буфер статичный, и он один. И постоянно будет перетираться, это не дело.

    Спасибо помогло.

  4. пытаюсь прочить int из  процесса но всегда буфер с байтами пустой

    Спойлер
    
    using System;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Runtime.InteropServices;
    using HackProcess;
    
    namespace MemoryTest
    {
        class Program
        {
            static Process process;
    
            static void Find(string name)
            {
                var plist = Process.GetProcesses();
                foreach (var Pprocess in plist)
                {
                    if (Pprocess.ProcessName == name)
                    {
                        process = Process.GetProcessById(Pprocess.Id);
                        return;
                    }
                }
            }
            static void Main(string[] args)
            { 
                Find("test");
                HackP.Setproc(process);
                var add = 0x5591B7E388;
                while (true)
                {
                    var iint = HackP.ReadInt(add);
                    Console.WriteLine(iint);
                    string s = Console.ReadLine();
                    if(s == "exit")
                    {
                        return;
                    }
                }
                
            }
        }
    }
    

     

     

    та самая dll"ка

    Спойлер
    
    using System;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Runtime.InteropServices;
    
    namespace HackProcess
    {
        public class HackP
        {
            [DllImport("kernel32.dll", SetLastError = true)]
            public static extern IntPtr OpenProcess(int processAccess, bool bInheritHandle, int processId);
    
            [DllImport("kernel32.dll", SetLastError = true)]
            static extern bool ReadProcessMemory(IntPtr hProcess,IntPtr lpBaseAddress,[Out] byte[] lpBuffer,int dwSize,out IntPtr lpNumberOfBytesRead);
    
            static Process Proc;
            static byte[] buffer = new byte[] { };
            static IntPtr handel;
    
            public static void Setproc(Process proc)
            {
                Proc = proc;
                handel = OpenProcess();
            }
    
            public static IntPtr OpenProcess()
            {
                return OpenProcess(0x001F0FFF, false, Proc.Id);
            }
    
            public static IntPtr Read(long addres,int byteread)
            {
                IntPtr bytereads;
                ReadProcessMemory(handel, (IntPtr)addres, buffer, byteread, out bytereads);
                return bytereads;
            }
    
            public static int ReadInt(long addres)
            {
                Read(addres, 4);
                if (buffer.Length != 0)
                {
                    return BitConverter.ToInt32(buffer, 0);
                } else { return 0; }
                
            }
    
        }
    }
    

     

     

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.