Ru-Board.club
← Вернуться в раздел «Программы»

» Indigo Rose AutoPlay Media Studio

Автор: nikitorol
Дата сообщения: 16.08.2014 11:28
Zloy_Gelud
Да, вся эта информация есть.
Название окна: gimp
Название процесса: gimp.exe
Автор: Zloy_Gelud
Дата сообщения: 16.08.2014 11:32
nikitorol -- А если будет запущено несколько окно с таким именем, из какого вытаскивать параметры коммандной строки?
Автор: nikitorol
Дата сообщения: 16.08.2014 11:38
Zloy_Gelud
Я поставил запрет на открытие нескольких окон, включая обход SandBoxie
Не как не найду решение...
Автор: Zloy_Gelud
Дата сообщения: 16.08.2014 14:16
nikitorol

Цитата:
Не как не найду решение...

Это было сложно ...
[more=Посмотреть одним глазком...]
Код: g_OSVERSIONINFO = MemoryEx.DefineStruct{
DWORD('OSVersionInfoSize');
DWORD('MajorVersion');
DWORD('MinorVersion');
DWORD('BuildNumber');
DWORD('PlatformId');
STRING('CSDVersion', 2, 128, MEMEX_ASCII);
};

g_PBI = MemoryEx.DefineStruct{
UINT('ExitStatus');
UINT('PebBaseAddress');
UINT('AffinityMask');
UINT('BasePriority');
UINT('UniqueProcessId');
UINT('InheritedFromUniqueProcessId');
};

g_PEB = MemoryEx.DefineStruct{
BYTE('InheritedAddressSpace');BYTE('ReadImageFileExecOptions');BYTE('BeingDebugged');BYTE('Spare');
UINT('Mutant');UINT('ImageBaseAddress');UINT('LoaderData');UINT('ProcessParameters');UINT('SubSystemData');
UINT('ProcessHeap');UINT('FastPebLock');UINT('FastPebLockRoutine');UINT('FastPebUnlockRoutine');UINT('EnvironmentUpdateCount');
UINT('KernelCallbackTable');UINT('EventLogSection');UINT('EventLog');UINT('FreeList');UINT('TlsExpansionCounter');
UINT('TlsBitmap');UINT('TlsBitmapBits', 2);UINT('ReadOnlySharedMemoryBase');UINT('ReadOnlySharedMemoryHeap');
UINT('ReadOnlyStaticServerData');UINT('AnsiCodePageData');UINT('OemCodePageData');UINT('UnicodeCaseTableData');
UINT('NumberOfProcessors');UINT('NtGlobalFlag');BYTE('Spare2', 4);DOUBLE('CriticalSectionTimeout');UINT('HeapSegmentReserve');
UINT('HeapSegmentCommit');UINT('HeapDeCommitTotalFreeThreshold');UINT('HeapDeCommitFreeBlockThreshold');UINT('NumberOfHeaps');
UINT('MaximumNumberOfHeaps');UINT('ProcessHeaps');UINT('GdiSharedHandleTable');UINT('ProcessStarterHelper');
UINT('GdiDCAttributeList');UINT('LoaderLock');UINT('OSMajorVersion');UINT('OSMinorVersion');UINT('OSBuildNumber');
UINT('OSPlatformId');UINT('ImageSubSystem');UINT('ImageSubSystemMajorVersion');UINT('ImageSubSystemMinorVersion');
UINT('GdiHandleBuffer', 34);UINT('PostProcessInitRoutine');UINT('TlsExpansionBitmap');BYTE('TlsExpansionBitmapBits', 128);UINT('SessionId');
};

g_UPP = MemoryEx.DefineStruct{
UINT('AllocationSize');UINT('ActualSize');UINT('Flags');UINT('Unknown1');WORD('LengthUnknown2');WORD('MaxLengthUnknown2');UINT('Unknown2');
UINT('InputHandle');UINT('OutputHandle');UINT('ErrorHandle');WORD('LengthCurrentDirectory');WORD('MaxLengthCurrentDirectory');
UINT('CurrentDirectory');UINT('CurrentDirectoryHandle');WORD('LengthSearchPaths');WORD('MaxLengthSearchPaths');UINT('SearchPaths');
WORD('LengthApplicationName');WORD('MaxLengthApplicationName');UINT('ApplicationName');WORD('LengthCommandLine');WORD('MaxLengthCommandLine');
UINT('CommandLine');UINT('EnvironmentBlock');UINT('Unknown', 9);WORD('LengthUnknown3');WORD('MaxLengthUnknown3');UINT('Unknown3');
WORD('LengthUnknown4');WORD('MaxLengthUnknown4');UINT('Unknown4');WORD('LengthUnknown5');WORD('MaxLengthUnknown5');UINT('Unknown5');
};

System.GetProcessPID = function (sProcessName)
local nPIDProcess = -1;
local tProcesses = System.EnumerateProcesses();
for nPID, sPath in pairs(tProcesses) do
if (String.Find(sPath, sProcessName) ~= -1) then
nPIDProcess = nPID;
break;
end
end
return nPIDProcess;
end

File.GetArgsFromPath = function (sPath)
local shlwapi = Library.Load('shlwapi.dll', false);

local pPath = MemoryEx.Allocate(2 * (#sPath + 1));
MemoryEx.String(pPath, -1, MEMEX_ASCII, sPath);
local pArgs = shlwapi.PathGetArgsA(pPath);
local sArgs = MemoryEx.String(pArgs, -1, MEMEX_ASCII);
MemoryEx.Free(pPath);
shlwapi:Close_();

return sArgs;
end

System.GetProcessCommandLine = function (nPID)
if (type(nPID) ~= 'number') then return ""; end

local sCMD = "";

local Kernel32 = Library.Load('kernel32.dll', false);
local Ntdll = Library.Load('ntdll.dll', false);

local __GetWinVer = function ()
local tOSVERSIONINFO = g_OSVERSIONINFO:New();
tOSVERSIONINFO.OSVersionInfoSize = MemoryEx.StructSize(g_OSVERSIONINFO);
Kernel32.GetVersionExW(tOSVERSIONINFO:GetPointer());
local nRet = Bitwise.Or(Bitwise.ASL(tOSVERSIONINFO.MajorVersion, 8), tOSVERSIONINFO.MinorVersion);
tOSVERSIONINFO:Free();

return nRet;
end

local hProcess = Kernel32.OpenProcess((__GetWinVer() < 0x0600) and 0x00000410 or 0x00001010, 0, nPID);
if (hProcess ~= 0) then
local tPBI = g_PBI:New();
local tPEB = g_PEB:New();
local tUPP = g_UPP:New();

local pReturnLength = MemoryEx.Allocate(4);
local nRet = Ntdll.NtQueryInformationProcess(hProcess, 0, tPBI:GetPointer(), MemoryEx.StructSize(g_PBI), pReturnLength);
if (nRet == 0) then
local pNumberOfBytesRead = MemoryEx.Allocate(4);
nRet = Kernel32.ReadProcessMemory(hProcess, tPBI.PebBaseAddress, tPEB:GetPointer(), MemoryEx.StructSize(g_PEB), pNumberOfBytesRead);
if (nRet ~= 0) and (MemoryEx.UnsignedInteger(pNumberOfBytesRead) ~= 0) then
nRet = Kernel32.ReadProcessMemory(hProcess, tPEB.ProcessParameters, tUPP:GetPointer(), MemoryEx.StructSize(g_UPP), pNumberOfBytesRead);
if (nRet ~= 0) and (MemoryEx.UnsignedInteger(pNumberOfBytesRead) ~= 0) then
local pCMD = MemoryEx.Allocate(tUPP.MaxLengthCommandLine);
nRet = Kernel32.ReadProcessMemory(hProcess, tUPP.CommandLine, pCMD, MemoryEx.Size(pCMD), pNumberOfBytesRead);
if (nRet ~= 0) and (MemoryEx.UnsignedInteger(pNumberOfBytesRead) ~= 0) then
sCMD = MemoryEx.String(pCMD, -1, MEMEX_UNICODE);
end
MemoryEx.Free(pCMD);
end
end
MemoryEx.Free(pNumberOfBytesRead);
end
MemoryEx.Free(pReturnLength);
tUPP:Free(); tPEB:Free(); tPBI:Free();
end
Kernel32.CloseHandle(hProcess);
Kernel32:Close_(); Ntdll:Close_();

return (sCMD ~= "") and File.GetArgsFromPath(sCMD) or "";
end

-- Example ---------------------------------------------------------------------------------------------------------------------------
local nPID = System.GetProcessPID('Skype.exe');
if (nPID ~= -1) then
Dialog.Message("Аргументы запущенного процесса", System.GetProcessCommandLine(nPID), MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
Автор: nikitorol
Дата сообщения: 16.08.2014 14:44
Zloy_Gelud
Вообще по божески, спасибо.
Код действительно не простой, я бы не исполнил
Ошибки правда выдает... Яж на 7мой версии сижу..
Плагин - какой?!
Автор: Zloy_Gelud
Дата сообщения: 16.08.2014 14:47
nikitorol

Цитата:
Код действительно не простой

Чего стоило только структуры объявить...

Цитата:
Ошибки правда выдает...

Плагин хоть подключил-то?

Добавлено:

Цитата:
Яж на 7мой версии сижу..

Сочувствую. Код для 8-ки.

Цитата:
Плагин - какой?!

Очевидно же - MemoryEx.
Автор: nikitorol
Дата сообщения: 16.08.2014 14:52
Ради такого дела, перейду на восьмерку, на время
Может быть, в седьмой все будет проще?
Автор: Zloy_Gelud
Дата сообщения: 16.08.2014 14:54
nikitorol

Цитата:
Может быть, в седьмой все будет проще?

Не шути так.
Автор: nikitorol
Дата сообщения: 16.08.2014 15:08
Zloy_Gelud
))))
Я с восьмерки ушел из за большого веса проекта, он значительно отличается от седьмой версии.
Вес чистого проекта седьмой версии составляет 1.5мб а вес с восьмерки 8мб этож пипец.
Автор: Zloy_Gelud
Дата сообщения: 16.08.2014 15:22
nikitorol -- ну дык и функционала добавилось то.
Автор: nikitorol
Дата сообщения: 16.08.2014 15:31
Zloy_Gelud
Алгоритм некоторых действий смотрю тоже изменился...
Zloy_Gelud
Кстати, твой код на любой винде будет работать?

Добавлено:
Zloy_Gelud
Еще вопросик.
Как защитить свой проект от декомпила?
Автор: Zloy_Gelud
Дата сообщения: 16.08.2014 20:41
nikitorol

Цитата:
Кстати, твой код на любой винде будет работать?

ХЗ. На Win7 x86 работает. На других не проверял.

Цитата:
Как защитить свой проект от декомпила?

Полностью - никак.
Автор: nikitorol
Дата сообщения: 17.08.2014 14:34
Zloy_Gelud
Ну хоть как то...
Автор: dinis124
Дата сообщения: 17.08.2014 16:24
Ребят привет, подскажите, что то не помню как реализовывал, кстати тут читал где то пример, имеется Label при наведении всплывает картинка, ну и соответственно убрал курсор и нет картинки. И можно ли похожим способом при наведении вывести SWF

Нашел ответ из примера который основную суть напомнил: из шапки Ответы на наиболее часто задаваемые вопросы
Автор: nikitorol
Дата сообщения: 18.08.2014 14:36
Zloy_Gelud
Почему мне при подключении к MySQL выдается такая ошибка?
http://rghost.ru/57533320.view
Хотя, при подключение через другие программы все нормально.
Проблем с вводом логина\пароля\хоста нет, но почему то пишет что то не правильно, почему?
______
Разобрался, оказывается он не может выбрать строку при подключении.

Добавлено:
AMS отправляет запрос в кодировке (западная) как это можно изменить?
То есть, если я отправляю запрос на запись в бд:
MySQL.Query("INSERT INTO Logs (Log) values('Запускаю программу')");
То в таблице MySQL он выдает кракозябры.
Вроде я настроил таблицу на нужную кодировку, видимо АMS влияет со своей.
Как это можно исправить?
Автор: Zloy_Gelud
Дата сообщения: 18.08.2014 15:25
nikitorol

Цитата:
AMS отправляет запрос в кодировке (западная) как это можно изменить?

См. MySQL.SetCharacterSet
Автор: nikitorol
Дата сообщения: 18.08.2014 15:41
Zloy_Gelud

Цитата:
См. MySQL.SetCharacterSet

Неа, не помогает.
_______________
result = MySQL.SetCharacterSet("SET NAMES 'cp1251'");
result = MySQL.SetCharacterSet("SET CHARACTER SET 'cp1251'");
result = MySQL.SetCharacterSet("utf8"); -- С этой кодировкой пустые строки
_______________
Может я что не так делаю?
Автор: Zloy_Gelud
Дата сообщения: 18.08.2014 15:57
nikitorol -- когда в справку глянешь, тогда поможет.
UPD. Форум не чат. Пиши законченное сообщение без изменений. Надоело посты править.

Добавлено:

Цитата:
Может я что не так делаю?

Без понятия. Телепатов нет.
Автор: nikitorol
Дата сообщения: 18.08.2014 16:09
Zloy_Gelud
Не кипятись.
Достал, да?
Ладно тебе, помогать надо всеж мы люди)))
Решил я данный вопрос, смотрел справочку по AMS толком ничего не узнал.
Проблема была со стороны MySQL, необходимо устанавливать кодировку на MySQL "cp1251_general_ci"
Тобишь Windows Cirillic.
Настроил прогу так: MySQL.SetCharacterSet("cp1251");
Теперь кодировка отображается как надо.
Автор: Zloy_Gelud
Дата сообщения: 18.08.2014 16:15
nikitorol

Цитата:
Не кипятись.
Достал, да?

Дело не в том, что достал. А в том, что ты пишешь что-то - тебе отвечают. Потом ты можешь свой пост изменить так, что ответ может оказаться бессмысленным. Приходится его изменять. Или ты можешь свой вопрос дополнять несколько раз. Зачем? Нельзя все проверить, а потом написать один нормальный вопрос?

Цитата:
Ладно тебе, помогать надо всеж мы люди)))

А я и не отказываю в помощи.

Цитата:
Настроил прогу так: MySQL.SetCharacterSet("cp1251");
Теперь кодировка отображается как надо.

Сразу это нельзя было проверить? А не писать всякую фигню?
Автор: nikitorol
Дата сообщения: 18.08.2014 16:24
Zloy_Gelud

Цитата:
Сразу это нельзя было проверить? А не писать всякую фигню?

Возможно, ты выше не понял суть ответа, как я настроил.
А то что я пишу, то есть дополняю, дак это у меня привычка такая, плохая)
Даже если вопрос и стал бессмысленным, то я его пойму.
Как поставил вопрос, так и пойму.
Автор: Zloy_Gelud
Дата сообщения: 18.08.2014 16:27

nikitorol

Цитата:
Возможно, ты выше не понял суть ответа, как я настроил.

Все я понял. Сам являюсь администратором сайта.

Цитата:
Даже если вопрос и стал бессмысленным, то я его пойму.

Ты то поймешь, а другие, кто читает этот топик, врядли.
Автор: KerberX
Дата сообщения: 20.08.2014 15:52
Можно как-нибудь отправить выполняться кусок AMS'освского кода в другой поток? Есть для этого плагины или ещё что-нибудь?
Автор: Zloy_Gelud
Дата сообщения: 20.08.2014 15:58
KerberX
https://github.com/LuaLanes/lanes
Автор: KerberX
Дата сообщения: 20.08.2014 16:04
А использовать то его как?
Автор: ColdSummer
Дата сообщения: 20.08.2014 16:27
Привет участники этого форума! Я обнаружил замечательный пример создания увеличительной лупы под курсором от пользователя Zloy_Gelud здесь http://forum.ru-board.com/topic.cgi?forum=5&topic=39341&start=160
Но хотелось бы переделать чтобы 1) отображался зум не под мышкой, а в окне проекта 2) зумировался бы не только выбранный объект, но и всё что есть под мышкой вне проекта - на рабочем столе, в программах и т.д. Буду вам очень признателен!
Автор: nikitorol
Дата сообщения: 20.08.2014 17:44
Как сделать native для функции?
Например у меня есть код:
Tex = Input.GetText("Input1");
RichText("RichText1", Tex, false);
Как мне сделать, чтобы эта функция выполнялась одной командой.
Например, вставляю я SeTex, и выполняются эти функции.

Автор: yumot
Дата сообщения: 23.08.2014 08:45
Подскажите пожалуйста скриптик. Параграф-рядом кнопка. При нажатии кнопки выполняется какое-то действие, так вот, нужно чтобы при нажатии кнопки ещё и изменился цвет текста в параграфе. Спасибо.
Автор: KerberX
Дата сообщения: 23.08.2014 11:44
yumot, мог бы в справке посмотреть.


Код: local nColor = Math.RGBToNumber(127, 255, 127);
Paragraph.SetProperties("Paragraph1", {ColorNormal=nColor, ColorHighlight=nColor, ColorDown=nColor});
Автор: yumot
Дата сообщения: 23.08.2014 11:58
Справку смотрел, не разобрался, я только начал. Спасибо!

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980

Предыдущая тема: память не может быть written


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.