|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
Как получить TVM_GETITEM дерева 64-битного процесса10.05.2023, 16:14. Показов 1797. Ответов 32
Метки нет (Все метки)
0
|
|
| 10.05.2023, 16:14 | |
|
Ответы с готовыми решениями:
32
Определить разрядность windows из 32-битного процесса |
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||||||||||
| 10.05.2023, 16:18 [ТС] | |||||||||||
|
Итак, запускаю 64-битный regedit это первое. Второе структуру поменял на:
0
|
|||||||||||
|
Модератор
|
|||||||||||
| 10.05.2023, 17:00 | |||||||||||
|
HackerVlad, проблема тут и в структуре, она должна быть такого вида:
1
|
|||||||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||||
| 10.05.2023, 17:09 [ТС] | ||||
|
Почему hItem нельзя оставить 32-битным?
Добавлено через 2 минуты Я смотрел на структуру здесь: https://learn.microsoft.com/ru... rl-tvitemw Но этот код на С не даёт особо подсказок ввиду того чтобы узнавать As Long или As Currency ставить Добавлено через 55 секунд Добавлено через 43 секунды Добавлено через 1 минуту
0
|
||||
|
Модератор
|
||||||
| 10.05.2023, 17:43 | ||||||
|
Добавлено через 30 минут Кстати об этом как-раз написано в документации:
1
|
||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||||||||||||||||||||||
| 10.05.2023, 20:32 [ТС] | |||||||||||||||||||||||
|
Я нашёл у тебя в модуле функцию Public Function CallX64 может через неё надо вызывать SendMessage?
Добавлено через 10 минут В общем добавил в проект твой модуль modX64Call, потом написал:
Добавлено через 1 минуту Добавлено через 5 минут С инициализацией тоже самое, не работает:
Но работает зато GetModuleHandle64("ntdll.dll"), "NtQueryInformationProcess") Добавлено через 23 секунды Вот и вопрос: как вызвать 64 битную версию SendMessage??? Добавлено через 45 секунд user64.dll же не существует, только user32 поэтому я не понимаю, честно... Добавлено через 8 минут Начал искать этот вопрос и нашёл вот здесь: https://www.vbforums.com/showt... ke-MS-Word Интересный код:
Добавлено через 5 минут Попробовал для интереса:
Добавлено через 3 минуты Правда там есть оговорка "Кроме того, в качестве параметра wMsg следует использовать « значения меньше, чем у WM_USER »." а у меня как раз кажется, как назло значение больше чем у WM_USER Добавлено через 1 минуту у меня &H1100 + 62, а у WM_USER = &H400 Добавлено через 1 минуту Добавлено через 51 минуту Короче это слишком сложно для меня, я не умею этого...
0
|
|||||||||||||||||||||||
|
Модератор
|
|
| 10.05.2023, 21:36 | |
|
Из своего процесса вызвать 64 битную SendMessage в 64 битном режиме - тот еще квест. Проще просто выделить переходник в процессе. Перечислить все 64 битные модули в процессе через ZwWow64QueryInformationProcess64 и ZwWow64ReadVirtualMemory64. Затем найти функцию SendMessageW через парсинг таблицы экспорта модуля user32.dll. Затем выделить память для маленького ассемблерного переходника. Положить туда код вызова SendMessageW. Через x64 гейт создать поток на этой функции (возможно и не нужен гейт, помню там какие-то ньюансы были в wow64.dll, но так не вспомню). Переходник вызовет функцию и положит результат в память. Вызвать ReadVirtualMemory и прочитать 64 битный результат. На самом деле ничего сложного, если все делать последовательно.
1
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||||
| 11.05.2023, 00:17 [ТС] | ||||
|
Добавлено через 1 минуту Я думал об инъекции через CreateVBObjectInThread как ты меня научил Добавлено через 45 секунд Но у тебя там по моему эта инъекция только для 32-битных процессов, как назло... Добавлено через 15 минут Добавлено через 5 минут Тут я много чего не знаю. 1. Как создать ассемблерный переходник 2. Как код вызова функции, да и любой код вообще любых моих функций преврать в HEX-версию хотябы для того чтобы записать в память или читать В моём представлении что когда я пишу код в vb6 например Public Sub Main() Msgbox "Hello!" End Sub просто пример, в моём понимании что этот код есть в памяти как последовательность байтов в HEX но я понятия не имею как увидеть этот код в HEX-интерпретации... Я же говорю, я много чего не умею в программировании и ещё только учусь... Добавлено через 1 минуту Добавлено через 12 секунд Ну программист я на троечку конечно))))
0
|
||||
|
Модератор
|
||||
| 11.05.2023, 09:11 | ||||
|
1
|
||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||||||||
| 11.05.2023, 10:29 [ТС] | |||||||||
Добавлено через 1 минуту Добавлено через 5 минут Добавлено через 12 секунд В модуле modX64Call.bas
0
|
|||||||||
|
|
||
| 11.05.2023, 14:33 | ||
|
См. пример вызова. Добавлено через 7 минут Там же чуть выше код парсинга модулей. Тебе останется дописать код получения списка функций модуля.
1
|
||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 11.05.2023, 15:54 [ТС] | |
|
Это слишком сложно для меня, но зато я написал лайтовую версию RegJumpHack через открытие индексов основываясь на своих списках реестра
Добавлено через 24 секунды Может даже и без админ прав будет работать кстати
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 14.05.2023, 13:48 [ТС] | |
|
Я кажется нашёл свою ошибку, я вообще не понимаю, с чего вы взяли что нужен именно 64-битный SendMessage для этой задачи, если хватит и 32-битного SendMessage
Добавлено через 45 минут Короче дошёл до момента когда SendMessage стало возвращать 1 я подумал это успех а по факту ничего не происходит и строка не получается
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||
| 14.05.2023, 14:04 [ТС] | ||
|
Я же говорил уже об этом и повторяться не хочу, что такого не существует)))))))))))
Тут самое непонятное для меня, почему, например, сообщение SB_GETTEXT спокойно работает и для 64-битных процессов тоже, а какое-то TVM_GETITEM не хочет работать... Если бы было такое сообщение для узнавания текста ветки дерева без TVM_GETITEM было бы очень хорошо, как например SB_GETTEXT, но такого я не нашёл почему-то в винде...
0
|
||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||
| 14.05.2023, 14:37 [ТС] | ||
|
Хотел так же посмотреть исходник функции SendMessage чтобы найти как у них реализовано сообщение TVM_GETITEM но тоже пока не нашёл этого... А ведь так хотелось бы вплотную подобраться к TVITEM.pszText ведь сама функция SendMessage туда каким-то образом должна отправлять данные...
Добавлено через 1 минуту Добавлено через 5 минут testuser2, https://question-it.com/questi... 2dll-i-t-d Добавлено через 23 минуты testuser2, интересно, а в VBA там 64-битная система? Может и SendMessage можно отправить через VBA 64-битный? Добавлено через 26 секунд Я просто никогда не пользовался VBA, а ты вроде профи.
0
|
||
| 14.05.2023, 14:49 | ||
|
0
|
||
| 14.05.2023, 14:49 | |
|
Помогаю со студенческими работами здесь
20
Не срабаывает DuplicateHandle. Поиск 32х битного процесса. MVS 6.0. Система 64 битная Как из 32х битного приложения получить доступ к ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\ на 64x специфика создание 32 - х битного и 64 - х битного приложение
Как получить параметры процесса? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|