Последние записи
- Рандомное слайдшоу
- Событие для произвольной области внутри TImage
- Удаление папки с файлами
- Распечатка файла
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
13th
Апр
Стереть параметры запуска после запуска
Есть у меня своя программа. И есть некоторая сторонняя программа, которая имеет несколько возможных параметров запуска. Так вот я запускаю эту стороннюю программу через shellexecute и передаю туда нужные параметры запуска.
На самом деле эти параметры запуска «секретные», там пароли, коды и всё такое, которые посторонние люди знать не должны, но люди пользуясь сторонним софтом эти параметры выдирают. Можно ли после запуска программы их стереть, как будто я запускал программу без каких-либо параметров запуска?
Anton911
memoffset = $85004; // смещение указателя на адрес где параметры от kernel32.dll
procedure DetectCode;
var
wBuff: Array[0..350] of Char;
sBuff,tBuff:String;
point_addr, kernelBase:DWORD;
wHandle, ProcessID, pHandle, BytesCount: cardinal;
i:Integer;
begin
Form1.Console.Clear;
pHandle := 0;
wHandle := 0;
kernelBase := GetModuleHandle(PWideChar('Kernel32.dll'));
ShellExecute(0,'Open', PWideChar(ExtractFilePath(ParamStr(0)) + 'proga.exe'),
PWideChar(GetParam), nil, SW_SHOWNORMAL);
while wHandle = 0 do wHandle := IsProgRun;
if wHandle 0 then
begin
GetWindowThreadProcessId(wHandle, @ProcessID);
pHandle := OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessID);
if not ReadProcessMemory(pHandle, Pointer(kernelBase + memoffset), @point_addr, sizeof(point_addr), BytesCount) then
Form1.Console.Lines.Add('Не могу получить адресс указателя на смещение');
{}
sBuff := wBuff;
FillChar(wBuff, SizeOf(wBuff), #0);
tBuff := Copy(sBuff, 1, Pos('-password=', sBuff) - 1);
Delete(sBuff, 1, Pos('-password=', sBuff) - 1);
if Pos(' ', sBuff) 0 then
begin
Delete(sBuff,1, Pos(' ', sBuff));
tBuff := tBuff + sBuff;
end;
for i := 0 to Length(tBuff) - 1 do
begin
wBuff := tBuff;
end;
if not WriteProcessMemory(pHandle, Pointer(point_addr), @wBuff, sizeof(wBuff), BytesCount) then
Form1.Console.Lines.Add('Не могу внедриться в программу');
end;
end;
Пеллетные котлы Kostrzewa — автоматические твердотопливные котлы с ёмкостью бункера обеспечивающего непрерывную работу — 1 неделю и больше. Автоматический розжиг и модуляция процесса горения от 20% до 100%.
Облако меток
css реестр ассемблер timer SaveToFile ShellExecute программы массив советы word MySQL SQL ListView pos random компоненты дата LoadFromFile form база данных сеть html php RichEdit indy строки Win Api tstringlist Image мысли макросы Edit ListBox office C/C++ memo графика StringGrid canvas поиск файл Pascal форма Файлы интернет Microsoft Office Excel excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)