temtriss

Пользователи
  • Публикации

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

  • Посещение

Репутация

10 Newbie

О temtriss

  • Звание
    Продвинутый пользователь

Информация

  • Пол

Посетители профиля

297 просмотров профиля
  1. чуть-чуть опередил меня
  2. strLen = SendMessageA(hEdit, WM_GETTEXTLENGTH, 0, 0); SendMessageA(hEdit, EM_SETSEL, (WPARAM)strLen, (LPARAM)strLen); SendMessageA(hEdit, EM_REPLACESEL, (WPARAM)FALSE, (LPARAM)str);
  3. Мультилайн edit надеюсь?) LB_ADDSTRING это же для лист бокса) попробуйте сообщение WM_SETTEXT вроде должно работать, если не поможет, я свои старые проекты раскопаю, подскажу)
  4. А гугл?) Не, не слышал? Первая ссылка на запрос опенГЛ32 х64 Обьясню, даже 64х битная библиотека имеет в имени 32)))
  5. Ну как я написал выше шарп я не знаю, так чисто логически по коду пробежался) Так же пробежался по скрипту, а вы уверены, что у Вас варкрафт версии 1.26.0.6401?
  6. Как Вас понять, не работает инжект к.... Иньекция происходит в процес... dll - динамическая библиотека... Честно скажу, шарп я не знаю и очень не люблю... Читать умею, но могу понять не правильно... В первую очередь обращу внимание что ваша void функция GetProcessID имеет ретурн(может в шарпе так принято, но тогда она возвращает, только в случае получения результата) или в шарпе этот тоже самое что break? В общем прервите цикл если мы нашли результат. нефиг ему гонять!) Далее, опять же цикл... Вы так же не выходите из цикла, опять же я ХЗ как работает шарп, но после получения нужной нам dllки надо бы цикл закончить... Добавив либо return true либо break... ну может знатоки скажут больше, но циклы я бы посоветовал поправить) Особенно второй))
  7. В каком смысле своего?
  8. Хм... а по углу обзора не канает? Что-то типо этого: Я таким образом делал наведение(facetotarget) на цель для бота.
  9. @partoftheworlD Замечательная статья А что тут не понятного? Открыл был engine.dll в IDA Pro... Найдена в дллке строка, просмотрено какие именно функции используют данную строку, как я понял в этом случае только одна функции использует эту строку. Ищем первый вызов(call) перед использованием данной строки(в данном случае перед помещением ее в стэк) Переходим по функции, далее смотрим где заполняется реест ECX(В данном случае в этой строчке lea ecx,[ebp-1C]), далее открываешь ЦЕ тлт любой дебагер, открываешь данную функцию и ставишь бряк на эту инструкцию, брякаешся и добавляешь в таблицу адрес из ebp-0x1C
  10. @Dejavu Ну наверно по тому, что я не очень грамотный человек
  11. @partoftheworlD хорошо, учту этот момент. @Garik66 Спасибо, замечания учту, буду стараться)
  12. Всем привет. !!!Перед прочтением данной статьи рекомендую прочитать о Соглашении о вызовах(Calling Convention)!!! Эта небольшая статья о вызове функций из приложения. Если будет не понятно, то могу снять видео гайд по вызову функций. Подопытным кроликом будет заранее заготовленное приложение. Вот его код: Примерно так выглядит наша программа: Думаю и так понятно, что приложение по нажатию на F1 запускает функцию 1, а по нажатию на F2 функцию 2 и 3 С помощью x64dbg мы попробуем разобратся как вызывается функция: Будем искать строчку из функции3. Для этого ищем ссылки на строки, как показано на скрине Поиск ссылок на строки в x64dbg: Находим там: "Function003 called! this is char* param of function003" И смотрим: Сдесь PUSH и CALL Пологаю это то что нам надо, пушим аргумент в стек(наша строчка) и вызываем функцию. Перед прочтением статьи я рекомендовал прочитать про соглашение о вызове. Сейчас это бы пригодилось, но я зарание оговорюсь, что это C-Declaration - __cdecl: Примерный внешний __cdecl push ebp mov ebp, esp // Пушим аргументы вызова push arg1 push arg2 // вызываем функция call ourFunc // чистим стек за нашей функцией add esp, 8 Давайте посмотрим на скрин: Интересующая нас функция: Ну что же самое интересное, мы знаем какое используется соглашение о вызове, мы знаем параметры которые принимает функция. Давайте теперь узнаем смещение функции относительно базового адреса, для этого открываем калькулятор, выбираем 16тиричную систему, Адрес функции у меня 009С24С0. Из адреса функции вычитаем Базовый адрес, в моем случае это 009B0000 009C24C0-009B0000=124C0 Запоминаем, смещение, оно нам понадобится! Давайте напишем dll'ку которая по нажатию на F10 будет запускать функцию3. Вот код: Код достаточно прост, думаю пояснения тут не нужны. Собираем и иньжектим DLLку, Для проверки можно заиньктить с помощью CE. Результат: Всем спасибо! P.s. Сильно не пинайте если что-то не так, первая статья! С радостью выслушаю конструктивную критику
  13. Создать подпись я себе не могу. А можно по подробнее, у меня нету таких пунктов. Может Вы можете дать прямой линк?)
  14. Доброго времени суток! Можно ли добавить/вернуть подписи на форуме? Или они были убраны, с какой-то определенной целью.
  15. @what228 @Garik66 Понял, спасибо Хотя жаль, функция хоть и бесполезная, но приятная