RockHammer Опубликовано 17 марта, 2015 Поделиться Опубликовано 17 марта, 2015 (изменено) Доброго времени суток. 1) Скажите, как получить список всех потоков в чужой программе? И, при необходимости, усыпить один из потоков? Именно - усыпить, добавить Sleep(1000) или больше. Ну или любые другие извращения с потоками. 2) Хочу написать инжектор-автомат, дабы тестить свои детища в формате dll. Однако, при кодинге инжектора необходимо указывать конкретный путь подгрузки dll.Как сделать так, чтобы инжектор как бы сам сканировал свой путь?К примеру C:\Users\Desktop\Coding\test.dll Так вот, мой инжектор в папке Coding и чтобы он сам видел дллку с именем test.dll.Как бы вот такая задумка. Изменено 17 марта, 2015 пользователем RockHamer Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 17 марта, 2015 Поделиться Опубликовано 17 марта, 2015 Привет! Отвечу пока что на второй вопрос. При запуске программе передаютсяаргументы командной строки. Нулевой аргумент - это полный путь до исполняемогофайла. Еще можно, как вариант, положить dll рядом с исполняемым файлом игры илив папку system32. Ссылка на комментарий Поделиться на другие сайты Поделиться
RockHammer Опубликовано 17 марта, 2015 Автор Поделиться Опубликовано 17 марта, 2015 (изменено) В 17.03.2015 в 11:17, keng сказал: Привет! Отвечу пока что на второй вопрос. При запуске программе передаются аргументы командной строки. Нулевой аргумент - это полный путь до исполняемого файла. Еще можно, как вариант, положить dll рядом с исполняемым файлом игры или в папку system32.Аргументы командной строки? Okey, Keng: how can i use this information?(папка system32 не совсем удачный вариант, т.к. я закину свой инжектор в папку с Release вариантом дллки и отправлю ярлык инжектора вниз к тулбарам или на раб.стол. Так удобнее...) Изменено 17 марта, 2015 пользователем RockHamer Ссылка на комментарий Поделиться на другие сайты Поделиться
gmz Опубликовано 17 марта, 2015 Поделиться Опубликовано 17 марта, 2015 1 CreateToolhelp32Snapshot + TH32CS_SNAPTHREAD2 GetModuleFileName потом меняешь .exe > .dll или GetCommandLineW или _wcmdln или GetFullPathName... 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 17 марта, 2015 Поделиться Опубликовано 17 марта, 2015 You always can try [this] pretty effective method. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
RockHammer Опубликовано 17 марта, 2015 Автор Поделиться Опубликовано 17 марта, 2015 (изменено) В 17.03.2015 в 12:19, keng сказал: You always can try [this] pretty effective method.Yeah, i don't think about it. Thanks. В 17.03.2015 в 11:55, gmz сказал: 1 CreateToolhelp32Snapshot + TH32CS_SNAPTHREADЛадно, а как манипулировать этими потоками?И... Как их вывести на экран? Изменено 17 марта, 2015 пользователем RockHamer Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 17 марта, 2015 Поделиться Опубликовано 17 марта, 2015 На форуме много тем по функции CreateToolhelp32Snapshot. Только в них указывается, как искать процесс и перебирать модули. Вот делай по аналогии с модулями, только перебирай потоки, как тебе выше написали. Ссылка на комментарий Поделиться на другие сайты Поделиться
RockHammer Опубликовано 17 марта, 2015 Автор Поделиться Опубликовано 17 марта, 2015 В 17.03.2015 в 14:19, Xipho сказал: На форуме много тем по функции CreateToolhelp32Snapshot. Только в них указывается, как искать процесс и перебирать модули. Вот делай по аналогии с модулями, только перебирай потоки, как тебе выше написали.Собственно, начал. HANDLE hSnap = NULL; THREADENTRY32 te32; hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); if (hSnap != NULL) { }А что дальше? Как вывести потоки конкретного процесса? Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 17 марта, 2015 Поделиться Опубликовано 17 марта, 2015 Ты не дочитал [документацию]. Секция "TH32CS_SNAPTHREAD". Ссылка на комментарий Поделиться на другие сайты Поделиться
RockHammer Опубликовано 17 марта, 2015 Автор Поделиться Опубликовано 17 марта, 2015 (изменено) В 17.03.2015 в 14:56, keng сказал: Ты не дочитал [документацию]. Секция "TH32CS_SNAPTHREAD".Ага, я понял что нужно юзать эту th32OwnerProcessID штуку.Но как её использовать? Там примеры реализации не показаны. Всмысле, THREADENTRY32 te32te32.th32OwnerProcessID ... and? Изменено 17 марта, 2015 пользователем RockHamer Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 17 марта, 2015 Поделиться Опубликовано 17 марта, 2015 Ну ты такой снял снэпшот всех тредов, используя TH32CS_SNAPTHREAD, а потом побежал в цикле через Thread32First, которая возвращает тебе THREADENTRY32, у которой есть поле th32OwnerProcessID. Его-то ты и сравниваешь с идентификатором нужного тебе процесса. Там так и написано. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
RockHammer Опубликовано 17 марта, 2015 Автор Поделиться Опубликовано 17 марта, 2015 В 17.03.2015 в 15:36, keng сказал: Ну ты такой снял снэпшот всех тредов, используя TH32CS_SNAPTHREAD, а потом побежал в цикле через Thread32First, которая возвращает тебе THREADENTRY32, у которой есть поле th32OwnerProcessID. Его-то ты и сравниваешь с идентификатором нужного тебе процесса. Там так и написано. Показать контент Ok, let's make steps:1. 2. HANDLE hSnap = NULL;hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);for (Sleep(100)) {Thread32First(hSnap, &te32) {... and?}} Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 17 марта, 2015 Поделиться Опубликовано 17 марта, 2015 Во-первых, вызов Sleep не нужен. Во-вторых, дочитай документацию хотя бы по [этой] функции. Читать - это круто! Нет, правда. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
RockHammer Опубликовано 17 марта, 2015 Автор Поделиться Опубликовано 17 марта, 2015 (изменено) В 17.03.2015 в 17:24, keng сказал: Читать - это круто! Нет, правда.Я знаю это) Мертвые души сейчас читаю) Мне нравится Правда есть и обратная сторона медали - у меня появляются наклонности гуманитария. Изменено 17 марта, 2015 пользователем RockHamer Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения