Василий недолгая война и чтение манулов привело к тому что строка стала такого вида:
invoke CreateFile,hello,GENERIC_WRITE,FILE_SHARE_WRITE,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0
Но где то спереди еще дают параметры:
GENERIC_WRITE = 40000000h
FILE_SHARE_WRITE = 2h
CREATE_ALWAYS = 2
FILE_ATTRIBUTE_NORMAL = 80h
Зачем эти параметры если и без них работает?
none7 в принципе понял. Осталось понять зачем теперь pop в этом случае. Первая инструкция возврат дескриптор окна - протолкиваю её в еах, потом протолкиваю её в следующую инструкцию (чтоб дескрипторы ввода и вывода совпали), та же вновь возвращает дескриптор - этот же, который я получил после первой инструкции. Нахрена мне теперь pop?
csar: push eax я про это спрашиваю. Какой параметр пушет в стек? Методы я и без вас перевёл. Зачем мы пушем два раза перед выводящим хендлом два раза? Зачем пушем перед установкой режима буфера? Зачем тянем перед написанием и чтением?
VZVZ: ясен красен, но читая документацию в хедл консоли передается только один параметр дескриптор: STD_INPUT_HANDLE, STD_OUTPUT_HANDLE или STD_ERROR_HANDLE. Что же он пушит в регистр? Какой параметр?
none7: то есть int 21h урезан в х64 и я не смогу им пользоваться?
Просто в отладчике int 21h вызывает ошибку.
OllyDbg v2.00.01
Access violation when reading [FFFFFFFF] - Shift+Run/Step to pass exception to the program
Не хватает прав. Просто я не знаю как их расширить. Или это не реально?
dreven: у роутера есть web-морда. У меня например по адресу 192.168.1.1
Там есть forwarding или NAT. Там указываете ваш порт (1234) и машину на которую хотите перебросить (IP машины смотрите в сетевом адаптере).
none7: Выплывает окошко: Неподдерживаемое 16-разрядное приложение.
Не удалось запустить программу или компонент "\??\C:\Users\test.com" из-за несовместимости с 64-разрядной версией Windows. Обратитесь к разработчику за версией программы, совместимой с 64-разрядной версией Windows.
invoke CreateFile,hello,GENERIC_WRITE,FILE_SHARE_WRITE,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0
Но где то спереди еще дают параметры:
GENERIC_WRITE = 40000000h
FILE_SHARE_WRITE = 2h
CREATE_ALWAYS = 2
FILE_ATTRIBUTE_NORMAL = 80h
Зачем эти параметры если и без них работает?