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

partoftheworlD

Пользователи+
  • Постов

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

  • Посещение

  • Победитель дней

    172

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

  1. 8 часов назад, MEDBEDb сказал:

    Может он 3-х мерный бокс хочет? 

    Это немного не так работает, даже если ты будешь рисовать 3-х мерный бокс, делать это все равно придётся в 2-х мерном пространстве. Матрица проекции нужна скорее для создания выпуклостей/впуклостей, что-то типа линзы "рыбьего глаза" 

  2. Только что, User32 сказал:

    Вообще, насколько мне известно, для преобразования используют две матрицы. 

     

    Зачем тебе матрица проекции для преобразования 2-х мерных есп боксов? Или это такой новый тренд, придавать всему двухмерному объем? Просто, у меня были знакомые девушки, которые так делали.

    • Смешно 1
  3. 7 минут назад, User32 сказал:

    но для этого и нужно знать как их преобразовывать

    Спойлер
    
        bool world_to_screen(vector3 vOrigin, vector3 &vScreen)
        {
        	auto& matrix = g_pEngine->WorldToScreenMatrix();
        	
        	int ScrW, ScrH;
        	g_pEngine->GetScreenSize(ScrW, ScrH);
         
        	float w = matrix[3][0] * vOrigin[0] + matrix[3][1] * vOrigin[1] + matrix[3][2] * vOrigin[2] + matrix[3][3];
        	if (w > 0.01)
        	{
        		float inverseWidth = 1 / w;
        		vScreen.x = (ScrW / 2) + (0.5 * ((matrix[0][0] * vOrigin[0] + matrix[0][1] * vOrigin[1] + matrix[0][2] * vOrigin[2] + matrix[0][3]) * inverseWidth) * ScrW + 0.5);
        		vScreen.y = (ScrH / 2) - (0.5 * ((matrix[1][0] * vOrigin[0] + matrix[1][1] * vOrigin[1] + matrix[1][2] * vOrigin[2] + matrix[1][3]) * inverseWidth) * ScrH + 0.5);
        		vScreen.z = 0;
        		return true;
        	}
        	return false;
        }

     

     

    Способы нахождения матрицы:
    - Реверс функции, которая рисует кадр
    - Мотание камеры и поиск неизвестного значения, какого значения не известно, все зависит от движка, в шутерах в основном это значения от -1 до 1, в играх от третьего лица, может быть все что угодно, но обычно значение среднее, что-то около -5 до 5.

    Единственное что общее это изменение 16 значений, при повороте камеры на фиксированное значение от -1 до 1, -5 до 5 и т.д.

  4. 18 минут назад, User32 сказал:

    Может кто нибудь подскажет хотя бы как  найти матрицу вида и матрицу проекции и как они выглядят в памяти игры?

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

     

    18 минут назад, User32 сказал:

    Какой смысл в этом посте?

    Это ответ на поставленный тобой вопрос, где-то в первом посте ты упоминал о видовой матрице и что тебе надо именно её найти? Или отвечающие на тему должны читать мысли?

     


     

    • Понравилось 1
  5. 19 минут назад, fastmailsend сказал:

    Думал вдруг существует определенные метод позволяющий хоть гиг загрузить

    Существует, напрямую выделять необходимое количество байт при необходимости используя один и тот же буфер, но с разным размером.

     

    19 минут назад, fastmailsend сказал:

    Почему-то на ютубе/cocoscope все пользуются Сишным стилем, а никто толком и не объясняет)

    Сишный стиль для некоторых удобней, но как всегда есть либо удобный способ, либо правильный.

    • Плюс 1
  6. 31 минуту назад, fastmailsend сказал:

    Ну, всмысле, чем это лучше моего способа?

    C шный стиль перебирает все виды преобразований и выбирает оптимальный, а использование reinterpret_cast, что-то типа строгого преобразования в определенный тип, а значит быстрее и мы ведь пишем на C++, так почему бы не воспользоваться его прелестями. А если ты про, типы, то LPCVOID это указатель на константу любого типа, но зачем нам любой тип, если мы точно знаем, что нам нужен указатель на байты. Опять же работает, чуть-чуть быстрее. Да и LPCVOID, может себя неадекватно вести, у меня такое было на практике, а PBYTE никогда не подводил ещё.

     

    34 минуты назад, fastmailsend сказал:

    Получается надо брать массив с размером

    Нет, я не видел ещё задач где бы не хватало массива размером 1024 байта, обычно 64 байта хватает для всего.

  7. Так все, разобрался с этим lua, не нужно было лезть в vm вообще, оказалось там создается все так же как на обычном движке (ООП), просто все это не подписано и неизвестно как перебирать классы

    Спойлер

    поиск значений и брутфорс чтобы найти ближайшие адреса класс к найденному значению???

    , и где они хранятся. Если в деталях, то после того как инициализировался интерфейс, надо обратится к адресу интерфейса на доступ, выбрать любую понравившуюся инструкцию и передать вызову функции по виртуальной таблицы любой индекс, так мы получим адрес на какой-то класс, после этого осталось просто найти в поиске значений, где используется этот адрес, так мы найдем к примеру все оружие на карте, обращаясь к классу CWeapon. А дальше, все как по учебнику, ищем какую-нибудь инструкцию работающую с массивами и использующую адрес оружия, и восстанавливаем смещения.

    Инициализация класса:
     

    Спойлер

    image.thumb.png.91dbe8f7fd75913ca059f64d0c61adf6.png

     

    Класс:

     

    Спойлер

    Untitled-1.thumb.png.c47c060891f6ee06946b9fbb28cd4756.png

     

    Ах, да из проблем нашлось то, что наверное 60% функции декомпилируются не правильно, а от этого приходится декомпилировать все самому, снеговик и r2dec бесполезны.

    • Понравилось 2
  8. 26 минут назад, srg91 сказал:

    Ты хочешь просто создать отдельный lua-state и работать в нем или всё же использовать уже существующий?

     

    Я хочу понять как виртуалка инициализируется, потому что в игре есть много строк, но в итоге найти вызов где начинает выполнение виртуалка не могу из-за цикличности, будто бы попал внутрь интерпретатора. Луа модулей не подгружается, в импорте тоже ничего нет от чего можно было оттолкнуться. Из всего что доступно это лишь адреса интерфейсов, которые выводят меня в цикл. Вот так, происходит взятие указатель на интерфейсы:

     

    .rsrc:0000000143187C72                 lea     rcx, [r14+r14*2]     //индекс
    .rsrc:0000000143187C76                 mov     rax, cs:array_0      //массив
    .rsrc:0000000143187C7D                 mov     eax, [rax+rcx*8+0Ch] 

     

  9. Когда заходишь через кнопку форума что появляется? Название канала дискорда или кнопки со входом и регистрацией? Если первое, но не можешь войти, проверяй в настройках аккаунта форума связан ли он с аккаунтом дискорда, если второе восстанавливай пароль и просто входи.

  10. Найди массив инвентаря, посмотри кто использует указатель на инвентарь, так выйдешь на функцию, которая рисует вещи из инвентаря, смотришь на стек вызовов и находишь функцию отображающую инвентарь.
    Пишешь прототип функции, смотришь как заполняются и чем аргументы функции, повторяешь в своей программе/скрипте вызываешь используя поток. Профит.

  11. Ну, как бы первый вертолет заскриптован в игре, а остальные нет. Тут нет никакой зависимости от урона или ещё чего, просто, пока не перейдешь определенный триггер вертолет сбить нельзя, даже если он горит и из него выпали пилоты.

    • Плюс 1
  12. 26 минут назад, Nyasha сказал:

    И потом: mov [ebp+24],[esi+XX]

    Так нельзя

     

    30 минут назад, Cillstrik сказал:

    mov [ebp+24] ,(значение) как сделать чтобы заместо этого значения был указатель и значение бралось из него?

    Не совсем понятно про что ты.
    Если про ebp+24, то найти нормальную инструкцию. Ведь по сути ebp+24 это выделенная переменная в стеке для твоей функции, но ведь она как-то заполняется, найдешь инструкцию, где заполняется [ebp+24], то сможешь использовать реверсивный поиск указателей, либо ручной и получишь указатель.

    Если нет, то нужны подробности.

  13. Ссылка на видео Xipho и Keng, там почти все. Позже будет ссылка на торрент.
    https://mega.nz/#!0pMBVKZC!Zu5O7V-wUfdQvkrqx_b4WwFK4eF1fAMMHZ1WhfyrCbo

     

    Спасибо @Stigmaer, @ЛАГАРИУМ и @Krinkels за предоставленные видео во славу восстановления утерянных трудов русскоязычного геймхак комУнити, во времена безжалостной ютуб тирании. Троекратное /dev/null в честь героев. 

     

    А так же список видео которые есть на данный момент и доступны по ссылке

    Спойлер
    
    \xipho\разное
    Взлом Bulletstorm
    Как я взламывал FarCry 4. Часть 1
    Спонтанный стрим GameHackLab[RU]. Часть вторая
    
    \xipho\с++ трейнер
    01. Создаем наше первое окно
    02. Начинаем создание класса ProcessManager
    03. Создаем метод чтения из памяти целевого процесса
    04. Создаем метод записи в память
    05. Пишем сканер сигнатур
    06. Создаем методы выделения и освобождения памяти
    Программирование трейнеров. 00. Введение
    
    \xipho\уроки
    01. Типы поиска. Поиск точного и неизвестного значения
    02. Типы данных. Представление float и int (4 байта)
    03. Указатели. Автоматизированный поиск
    04. Указатели. Подробное объяснение
    05. Указатели. Реверсивный поиск
    06. Отладчик, брейкпоинты и регистры процессора
    07. Начинаем отладку. Взлом через _nop_
    08. Пишем первый скрипт
    09. Флаги и однократное выполнение
    10. Фильтр свой чужой
    11. Взлом шифрованных значений
    12. Новый уровень при каждом убийстве
    13. Делаем телепорт типа Save_Restore Position (сохранение и восстановление позиции)
    Ром хакинг 01. Взлом жизней в Battle City
    17. Урок от MasterGH. Супер-прыжок на примере игры S.T.A.L.K.E.R. Зов Припяти
    
    \keng
    [gamehacking] Более грамотный способ работы со структурами
    [gamehacking] Взлом по заявкам - PoP_ SoT, бессмертие
    [gamehacking] Делаем rapid-fire для Call of Duty
    [gamehacking] Делаем трейнер в Cheat Engine
    
    \keng\Делаем ESP-хак
    [gamehacking] Делаем ESP-hack. Часть 1
    [gamehacking] Делаем ESP-hack. Часть 2
    [gamehacking] Делаем ESP-hack. Часть 3
    [gamehacking] Делаем ESP-hack. Часть 4, заключительная
    
    \keng\Обучение взлому
    [gamehacking] Map Hack своими руками!
    [gamehacking] Видеоурок по взлому игр №1
    [gamehacking] Видеоурок по взлому игр №2
    [gamehacking] Видеоурок по взлому игр №3
    [gamehacking] Видеоурок по взлому игр №4
    [gamehacking] Видеоурок по взлому игр №5 - Часть вторая
    [gamehacking] Видеоурок по взлому игр №5 - Часть первая
    [gamehacking] Видеоурок по взлому игр №6
    [gamehacking] Видеоурок по взлому игр №7 Часть вторая
    [gamehacking] Видеоурок по взлому игр №8
    [gamehacking] Видеоурок по взлому игр №9_ Телепорт
    [gamehacking] Мгновенная постройка только для игрока
    
    \keng\Перезагрузка
    [gamehacking] Перезагрузка. Урок 0. Введение
    [gamehacking] Перезагрузка. Урок 1. Поиск точных значений
    [gamehacking] Перезагрузка. Урок 2. Поиск неизвестного значения
    [gamehacking] Перезагрузка. Урок 3. Что такое DMA_
    [gamehacking] Перезагрузка. Урок 4. Встречаем - Мистер Отладчик!
    [gamehacking] Перезагрузка. Урок 5. Боремся с DMA - Ручной поиск указателей
    [gamehacking] Перезагрузка. Урок 6. Автоматизированный поиск указателей
    
    \keng\Пишем D3D-хук
    [gamehacking] D3D9 hook - Chameleon Wallhack
    [gamehacking] D3D9 hook - Загрузчик на C++
    [gamehacking] D3D9 hook - Часть 0
    [gamehacking] D3D9 hook - Часть 1
    [gamehacking] D3D9 hook - Часть 2
    [gamehacking] D3D9 hook - Часть 3
    [gamehacking] Начинаем курочить наше D3D-приложение
    
    \keng\Пишем трейнер на C#
    [gamehacking] Делаем трейнер на C# - Часть 1
    [gamehacking] Делаем трейнер на C# - Часть 2
    [gamehacking] Пишем трейнер на C# - Инъекции кода. Часть 1
    [gamehacking] Сканер сигнатур на C# - что это и как это сделать
    [gamehacking] Читаем указатели в C#
    

     

     

    • Плюс 1
  14.  

    49 минут назад, Stigmaer сказал:

    подожди у мея ещё толькол процентов 30 первого файла. или может потом дольёшь ведь и кроме меня ещё приносить будут. а у меня 5 файлов примерно по гигу по мере готовности буду тоже кидать сюда

     

    Добавлю тогда потом к общему архиву, по мере появления видео буду обновлять торрент.

     

    • Плюс 1
  15. 2 часа назад, ЛАГАРИУМ сказал:

    Скачал

     

    7 минут назад, sector83 сказал:

    Это видео уроки с канала Ken'a https://yadi.sk/d/5x3fq5WZh8N66w

    Cкачиваю

     

    Как докачается, переберу видео, удалю повторяющиеся и кину ссылку на торрент файл. Сегодня буду на раздаче до 4 утра, думаю все успеют скачать.

    • Плюс 2
×
×
  • Создать...

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

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