Что нового

Использование VAMemory

filautdinov

Знающий
Сообщения
96
Репутация
9
Привет всем, имеется dll VAMemory для работы с памятью.

Как написать в коде эту же функцию:

Пример на C#:
Код:
VAMemory memory = new VAMemory("calc");
int num = 0x4e3456;
byte[] pBytes = new byte[] { 0xe9, 0x3d, 0xd4 };
memory.WriteByteArray((IntPtr)num, pBytes);

Стандартные методы типа: NomadMemory не интересуют, нужно именно с использованием этой библиотеки, подтолкните в нужном направлении.
dll в вложении
 

Вложения

  • VAMemory.zip
    5.1 КБ · Просмотры: 33

alex33

Скриптер
Сообщения
1,457
Репутация
186
OffTopic:
Странно, открываю эту DLL в программе DLL Export Viewer а там пустой список и внизу написано
В DLL должна же быть хотябы одна функция? Или как её тогда использовать? Обращаться к функциям по индексу (0, 1, 2, 3 и т.д)?
 
Автор
F

filautdinov

Знающий
Сообщения
96
Репутация
9
alex33 сказал(а):
OffTopic:
Странно, открываю эту DLL в программе DLL Export Viewer а там пустой список и внизу написано
В DLL должна же быть хотябы одна функция? Или как её тогда использовать? Обращаться к функциям по индексу (0, 1, 2, 3 и т.д)?
Да DLL Export Viewer не показывает функции, но я же приложил код выше на шарпе. Он работает проверял.
 
Автор
F

filautdinov

Знающий
Сообщения
96
Репутация
9
пробывал такой вариант:
Код:
$dll = DllOpen("VAMemory.dll")
DllCall($dll, "int", "WriteByteArray", "IntPtr", "calc", "0x4e3456", "0xe9, 0x3d, 0xd4" )

но безрезультатно, буду дальше копать


Добавлено:
Сообщение автоматически объединено:

Перепробывал несколько вариаций но ни чего не вышло. Как то же можно вызвать фнкцию для использования dll
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
filautdinov
Что тебе именно требуется? Мы предоставим аналоги(в которых ко всему прочему не нужно будет таскать за собой эту VAMemory).

P.S. Это не стандартная DLL, вернее не только лишь она (c)Известный философ
http://www.vivid-abstractions.net/logical/programming/vamemory-c-memory-class-net-3-5/
 
Автор
F

filautdinov

Знающий
Сообщения
96
Репутация
9
firex сказал(а):
filautdinov
Что тебе именно требуется? Мы предоставим аналоги(в которых ко всему прочему не нужно будет таскать за собой эту VAMemory).

P.S. Это не стандартная DLL, вернее не только лишь она (c)Известный философ
http://www.vivid-abstractions.net/logical/programming/vamemory-c-memory-class-net-3-5/
Мне требуется использование этой dll средствами Autoit
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
filautdinov [?]
Мне требуется использование этой dll средствами Autoit
Дело ваше, упрашивать вас принять аналогичную помощь я не собираюсь.

P.S. Использование этой "DLL" исключительно средствами AutoIt невозможно.
 
Автор
F

filautdinov

Знающий
Сообщения
96
Репутация
9
firex сказал(а):
filautdinov [?]
Мне требуется использование этой dll средствами Autoit
Дело ваше, упрашивать вас принять аналогичную помощь я не собираюсь.

P.S. Использование этой "DLL" исключительно средствами AutoIt невозможно.
Почему не возможно? А как же dllcall? В коде выше что на С# как я понял создается объект VAMemory далее уже происходит работа с объектом.
 

Olim98

Новичок
Сообщения
48
Репутация
2
filautdinov
Видимо эти DLL ка на C# написана и соответственно юзать ее можно только с C#! AutoIt здесь не поможет
 
Автор
F

filautdinov

Знающий
Сообщения
96
Репутация
9
Olim98 сказал(а):
filautdinov
Видимо эти DLL ка на C# написана и соответственно юзать ее можно только с C#! AutoIt здесь не поможет
Да dll на C# написана есть исход попробую переписать dll
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
filautdinov [?]
Да dll на C# написана есть исход попробую переписать dll
Скрытый контент
Вы должны ответить на это, чтобы увидеть это содержание.
1. На просторах интернета есть много статей по программированию, читайте - и все поймете!
Когда овладеете умением собирать (компилировать) DLL, скомпилируйте DLL VAMemory из исходников под себя с экспортом всех нужных вам функций.
2. Как вариант, оформить тему в стол заказов с просьбой собрать вам DLL VAMemory с экспортом всех функций (исходники естественно приложить).
 

oesoes

xor eax,eax
Сообщения
171
Репутация
9
На чем бы не была написана библиотека, ее можно использовать в любом языке, который поддерживает динамическое или статическое связывание. В том числе и на AutoIT.
 

Olim98

Новичок
Сообщения
48
Репутация
2
oesoes
Если мне не изменяет память, то C# может выдавать DLL ку которую только он сам и поймет, но вроде где-то это менялось
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
oesoes
Вы ошибаетесь, если DLL не имеет экспортируемых функций (то есть они не "торчат" наружу), то Autoit (нативными функциями) с ней работать не сможет. Использовать можно будет разве только DllOpen/DllClose, только толку от этого мало.

P.S. Но, ничего невозможного нет, однако надо будет придумывать костыль.

Экспортируемые функции (screen внизу)
 

Вложения

  • expotr_func.png
    expotr_func.png
    16.9 КБ · Просмотры: 21

oesoes

xor eax,eax
Сообщения
171
Репутация
9
Garrett сказал(а):
oesoes
Вы ошибаетесь, если DLL не имеет экспортируемых функций (то есть они не "торчат" наружу), то Autoit (нативными функциями) с ней работать не сможет. Использовать можно будет разве только DllOpen/DllClose, только толку от этого мало.

P.S. Но, ничего невозможного нет, однако надо будет придумывать костыль.

Экспортируемые функции (screen внизу)

Ну само собой должны быть экспортируемые функции ) Просто я об этом не написал, так как это само собой разумеется ))) Да и не только автоит не сможет работать с ней, но и все остальные языки.


Добавлено:
Сообщение автоматически объединено:

Olim98 сказал(а):
oesoes
Если мне не изменяет память, то C# может выдавать DLL ку которую только он сам и поймет, но вроде где-то это менялось

Хм, никогда такого не слыхал, можно ссылку на почитать про это? Но на всякий пожарный попробовал вызвать функцию шарповой dll из delphi - все нормально )))
 

sims

Осваивающий
Сообщения
184
Репутация
24
Эта DLL не экспортирует функции и dllcall нечего вызывать.
Пишите DLL на нативном языке (таком как C++, Дельфи, PureBasic и т. д.) чтобы ее можно было использовать в AutoIT-коде.

oesoes [?]
попробовал вызвать функцию шарповой dll из delphi - все нормально )))
Из DLL в первом сообщении темы?
Код встудию!
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
А как же DllCallAddress, ей тоже нужен список экспортируемых функций для работы?
 
Верх