eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 июля!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Обсуждение статей —› [ ZLOvar ] Новый подход к эксплуатации API-функций
Посл.ответ Сообщение


Ранг: 533.6 (!)
Статус: Администратор
Создатель CRACKL@B

Создано: 22 ноября 2010 00:12 New!
Цитата · Личное сообщение · #1

Ранг: 40.4 (посетитель)
Статус: Участник

Создано: 25 ноября 2010 12:14 · Поправил: ZLOvar New!
Цитата · Личное сообщение · #2

С ассемблерными листингами не все ладно. Не отображаются слеши. Например, такой код просто не компилируется:
Code:
  1. ; CUT HERE
  2. .486
  3. .model flat, stdcall
  4. option casemap :none
  5.  
  6. include masm32includeuser32.inc
  7. include masm32includekernel32.inc
  8.  
  9. includelib D:masm32libkernel32.lib
  10. includelib D:masm32libuser32.lib
  11. .data
  12. ttl db 'Fist project! ',0 ; Третий параметр - Заголовок сообщения
  13. txt db 'Hello, World!',0 ; Второй параметр - Текст сообщения.
  14. .code
  15. start:
  16. invoke MessageBoxA,0,offset txt,offset ttl,0 ;API функция собственной персоной
  17. invoke ExitProcess,0 ;Выходим из программы
  18. end start
  19. ; CUT HERE

Есть ли какая-нибудь возможность пофиксить?

P.S Архив с исследуемыми программами и исходниками перезалит:
--> Download <-- 25.11.2010


Ранг: 533.6 (!)
Статус: Администратор
Создатель CRACKL@B

Создано: 1 декабря 2010 21:23 New!
Цитата · Личное сообщение · #3

ZLOvar пишет:
includelib D:\masm32libkernel32.lib
includelib D:\masm32libuser32.lib


Имеешь ввиду вот так сделать?


Ранг: 129.0 (ветеран)
Статус: Участник

Создано: 1 декабря 2010 21:47 · Поправил: verdizela New!
Цитата · Личное сообщение · #4

Bad_guy пишет:
ZLOvar пишет:includelib D:\masm32libkernel32.libincludelib D:\masm32libuser32 .lib Имеешь ввиду вот так сделать?

Скорее всего это ошибка, должно быть так:
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib

ZLOvar пишет:
include masm32includeuser32.incinclude masm32includekernel32.inc

И здесь не правильно.
Вот так пробуй:
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc


Ранг: 1983.4 (!!!!)
Статус: Модератор
retired

Создано: 1 декабря 2010 22:54 New!
Цитата · Личное сообщение · #5

verdizela
Ты типа автору статьи советуешь, как ему свой собственный код из статьи скомпилировать?


Ранг: 129.0 (ветеран)
Статус: Участник

Создано: 1 декабря 2010 23:29 New!
Цитата · Личное сообщение · #6

Archer
Автор статьи пишет, что приведенный им код не компилируется. Если мой совет не подходит под категорию топика Обсуждение статей, то просто потрите мой пост.


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 1 декабря 2010 23:33 · Поправил: BoRoV New!
Цитата · Личное сообщение · #7

verdizela пишет:
Автор статьи пишет, что приведенный им код не компилируется.

Он о том, что трутся неэкранированые символы, что в свою очередь приводит к некорректности кода.

Ранг: 65.3 (постоянный)
Статус: Участник

Создано: 2 декабря 2010 00:44 New!
Цитата · Личное сообщение · #8

Если позволите, скажу о паре маленьких косяков статьи:
1. Ассемблер
2. A и W - постфиксы или суффиксы, но не префиксы
3. может увидеть, что в EAX содержится число не равное единице. ->
можно увидеть, что в EAX содержится число, не равное нулю.

Это - при поверхностном прочтении, и не считая орфографии.


Ранг: 533.6 (!)
Статус: Администратор
Создатель CRACKL@B

Создано: 2 декабря 2010 00:59 New!
Цитата · Личное сообщение · #9

BoRoV пишет:
Он о том, что трутся неэкранированые символы, что в свою очередь приводит к некорректности кода.

Да, внутри самой статьи. Кстати и движок добавления статей заодно посмотрю.

verdizela
Если ZLOvar подтвердит, то я внесу такие правки.

Ранг: 156.1 (ветеран)
Статус: Участник
Капрал

Создано: 2 декабря 2010 15:57 New!
Цитата · Личное сообщение · #10

Только имхо заповедь звучит как: Всё что запускается, может быть взломано.
Ну и чисто придраться.
API функции (от англ. Application Programming Interface) это - просто специальные функции для работы с операционной системой Windows
Пишешь про API (в широком смысле слова), а пояснения даёшь чисто для Win32API с привязкой к винде.
Про появление их только в 32-битной версии тоже как-то сомнительно, но не буду спорить.
И всё неплохо добавить в статьи возможность форматировать код с табуляциями, а то жутко читать

Поправочка: Мы не можем поставить бряк на 2 функции сразу т.к это может вызвать тучу ненужных срабатываний. эээ ... А что будет ? Ни разу никаких проблем не испытывал.

Ранг: 40.4 (посетитель)
Статус: Участник

Создано: 2 декабря 2010 19:40 · Поправил: ZLOvar New!
Цитата · Личное сообщение · #11

Bad_guy
Должно быть так:
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
Как Боров говорит, трутся неэкранированые символы (в частности " \ ").
tomac
1. Ассамблер - если честно, я сам запутался в этих двух понятиях. Одни говорят "ассамблер", а другие "ассемблер", что правильно. Если модеры дадут возможность, я исправлю.
2. Это также моя ошибка. Правильно: A и W - постфиксы.
3. Также исправлю.


Ранг: 283.6 (наставник)
Статус: Участник
Author of GeTaOEP

Создано: 2 декабря 2010 20:24 New!
Цитата · Личное сообщение · #12

ZLOvar пишет:
Одни говорят "ассамблер"

...LOL...покажите мне этих людей
Посмотри транскрипцию слова assemble в английском словаре.


Ранг: 237.0 (наставник)
Статус: Участник
sysenter

Создано: 2 декабря 2010 21:36 New!
Цитата · Личное сообщение · #13

ТС пишет "для начинающих", а сам...

Ранг: 40.4 (посетитель)
Статус: Участник

Создано: 2 декабря 2010 22:06 New!
Цитата · Личное сообщение · #14

HiEndsoft
Извиняюсь. Я же говорю, с самого начала (и на момент написания статьи) думал, что правильно писать "ассемблер" через "а".
DillerInc
Assеmble (от англ.) - собирать, сборка. Значит ассемблер - сборщик. Но есть также производные от этого слова. Например: "Генеральная ассамблея ООН". Просто с самого начала изучения ассемблера так пошло. Ассамблер, ассамблер, вот и путаю.

Ранг: 226.0 (наставник)
Статус: Участник

Создано: 2 декабря 2010 22:38 · Поправил: SergX New!
Цитата · Личное сообщение · #15

[del]


Ранг: 355.4 (мудрец)
Статус: Uploader
5KRT

Создано: 2 декабря 2010 23:13 New!
Цитата · Личное сообщение · #16

Наконец появилась возможность обсуждения статей, в месте где видно (в комментариях под статьями мало кто читал/писал/видел). В любом случае - это хорошо, что кто-то пишет статьи в наше не простое время. В былые годы, чтива было завались, каждый был рад поделится новыми идеями 

Есть огромный минус в статье

Это то что текст в большом количестве «сплошняком», а так все здорово! Пиши еще.


Ранг: 533.6 (!)
Статус: Администратор
Создатель CRACKL@B

Создано: 3 декабря 2010 00:46 New!
Цитата · Личное сообщение · #17

ZLOvar
Вроде все изменения внёс. Движок, конечно, со слэшами обращается отвратительно, надо и его поправить.

Coderess пишет:
Наконец появилась возможность обсуждения статей, в месте где видно (в комментариях под статьями мало кто читал/писал/видел).

Это точно, жалко сразу не сделал интеграцию форума со статьями.

Ранг: 65.3 (постоянный)
Статус: Участник

Создано: 8 декабря 2010 21:06 New!
Цитата · Личное сообщение · #18

ZLOvar
Присоединяюсь к вопросу от freeExec: а что будет, если поставить бряки на обе функции - аски и юникод? Почему много ложных срабатываний?


Ранг: 1983.4 (!!!!)
Статус: Модератор
retired

Создано: 8 декабря 2010 21:36 New!
Цитата · Личное сообщение · #19

Часто аски функции внутри себя просто конвертируют строки и вызывают уникодные аналоги. Видимо, это и имелось в виду.

| Сообщение посчитали полезным: tomac

 eXeL@B —› Обсуждение статей —› [ ZLOvar ] Новый подход к эксплуатации API-функций

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS