-
Постов
815 -
Зарегистрирован
-
Посещение
-
Победитель дней
13
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент Coder
-
Используй для этого авто ассемблер.
-
Читай мой прошлый пост, я обновил его.
-
A Read/Write ProcessMemory это не WinAPI? Тебе вот это очень даже пригодится - (в описании к роликам есть ссылки на pastebin и файловый архив)И это (видео про GUI можешь пропустить)
-
Поможет тебе в этом деле - http://msdn.microsof...p/ms682489.aspx и http://msdn.microsof...p/ms684218.aspx и http://msdn.microsof...p/ms684221.aspx О MODULEENTRY32 - http://msdn.microsoft.com/en-us/library/windows/desktop/ms684225.aspx После того как снимок тебе будет не нужен, освободи его через CloseHandle.
-
Что ты нам на скрине показать хочешь? char - 1 байт DWORD - 4 байта
-
memory[4] - эквивалентно *(memory + 16); Могу только посоветовать учить самые основы C++.
-
DWORD* memory = (DWORD*)malloc(5 * sizeof(DWORD)); *memory = 10; // эквивалентно memory[0] = 10; *(memory + 4) = 10; // эквивалентно memory[1] = 10; Вот тебе и обращение к памяти по указателям
-
Привет! И тебя с наступающим! LUA поддерживает разбиение строк на субстроки. http://lua-users.org/wiki/SplitJoin Если это не то, что тебе нужно, то можешь просто в цикле заполнять массив строк. // Псевдо C++ код char* str = "AaBbCc"; array<string> strings; UINT strLen = strlen(str); for (UINT i = 0; i < strLen ; i += 2) { string temp; temp.reserve(2); temp.push_back(str[i]); temp.push_back(str[i + 1]); strings.push_back(temp); } // push_back означает добавить элемент в конец массива // reserve означает зарезервировать память под N элементов массива (не нужно забывать, что строка это тоже массив - массив символов)
-
на 1й вопрос ответ Да, на второй вопрос ответ писать лень, скопипастил простенький ответ с какого-то сайта Прямой короткий (short) переход. Прямым называется переход, в команде которого в явной форме указывается метка, на которую нужно перейти. Разумеется, эта метка должна присутствовать в том же программном сегменте, при этом помеченная ею команда может находиться как до, так и после команды jmp. Достоинство команды короткого перехода заключается в том, что она занимает лишь 2 байт памяти: в первом байте записывается код операции (EBh), во втором - смещение к точке перехода. Расстояние до точки перехода отсчитывается от очередной команды, т.е. команды, следующей за командой jmp. Поскольку требуется обеспечить переход как вперед, так и назад, смещение рассматривается, как число со знаком и, следовательно, переход может быть осуществлен максимум на 127 байт вперед или 128 байт назад.
-
cmp [eax+00000010],0 je short god cmp [eax+00000010],2 je short god jmp short 1hit
-
cmp dword ptr [eax+10],0 jne адрес_след_cmp (возможно просто jne +3 (или сколько там след. инструкция байт жрёт) написать) jmp short god cmp dword ptr [eax+10],2 jne returnhere jmp short 1hit jmp returnhere
-
Данная тема я даже не знаю как сказать правильно - сверх очевидная что ли. Может ты не знал, но многие приложения (в том числе и твоя форма на C#) используют сторонние библиотеки. Это равносильно тому, что ты сейчас создашь ещё одну тему и напишешь в ней, в C++ можно использовать классы. На этом дискуссию прекращаем, так как это не флудильня. Дальнейшие сообщения не по теме будут удаляться.
-
Ты шутишь что ли??? По-твоему если у некоторых людей есть много оперативки, то значит можно пренебрегать оперативкой??? С такими идеалами далеко пойдёшь, рокстар видимо также как и ты думали, когда GTA IV портировали на ПК. 12-15 метров для формы? Для сравнения на C++ форма будет занимать 1000-2500 кб в оперативке (в зависимости сколько на ней контролов, и используют ли некоторые из них двойную буферизацию для собственной прорисовки). У так языков как C# нет будущего, максимум на что он годен, это если тебе заказали софтину, и тебе не хочется тратить много времени на написание некоторых компонентов на C++. И то всё, что он может это создавать формочки, на этом функционал языка заканчивается. Было как-то пара заказов у меня под решётки, я их конечно сделал, но он бесполезности этого языка я был в ярости. Несколько примеров: bool test = 0; на C++ отлично будет работать, но на C# это скажет - ошибка неверный тип данных, даже несмотря на то что bool это 1 байт (хотя в C++ я делаю такие переменные размером в 1 бит, ибо какой смысл под bool тратить 8 бит?) и принимает значение 1 или 0. Второй пример: нет нормальной поддержки WinAPI, вроде бы когда стартует твоя программа на решётках в неё загружены и kernel32.dll и user32.dll, но для того чтобы вызвать что-то из WinAPI нужно чуть ли не сплясать с бубном: нужно прописать Dllimport, объявить саму функцию (с дебильными именами типов C#), и возможно она заработает, но и это ещё не всё, скорее всего тебе ещё нужно будет привести кучу параметров к дебильным типам, которые ты прописал в объявлении функции. Ещё немного негодования: для того чтобы использовать на решётках DirectX нужно быть матёрым бубенщиком (XNA не поддерживается, начиная с Windows 8), и даже если тебе это удастся сделать, то производительность будет расстраивать даже Леонида Аркадьевича. Вывод: C# - это всего лишь маркетинговый ход, для того чтобы можно было быстро написать простые оконные приложения, которые у тебя заказали.