Вопросы с тегом 'macos'

___ ___ tag123macos MacOS (ранее известный как OS X или Mac OS X) является настольной операционной системы от Apple, обнаружил на компьютерах Macintosh. Используйте этот тег только в том случае, если ваш вопрос связан с использованием API-интерфейсов macOS или специфичного для MacOS поведения, а не потому, что вы запускаете свой код на macOS. Вопросы, связанные с использованием или устранением неполадок macOS, не соответствуют теме. ___ qstnhdr ___ Изменяет ли LLDB адрес переменных среды программ C? ___ tag123stack ___ Стек представляет собой абстрактный абстрактный тип данных (LIFO) и структуру данных. Одно общее использование стеков - хранить аргументы подпрограммы и возвращать адреса. ___ qstntxt ___

В частности, почему / как? Я возился с переполнением буфера на моем Mac, и я написал программу genv для вывода адреса памяти переменных среды. Я получил 3 разных адреса (очевидно, они будут меняться при каждом запуске - это не то, что здесь происходит)

SHELLCODE ADDR 1) Я запускаю программу из командной строки

%pre%

SHELLCODE ADDR 2) Я запускаю программу через LLDB и проверяю регистры после установки некоторых точек останова

%pre%

SHELLCODE ADDR 3) Я продолжаю с точки останова и выдаю вывод genv в stdout

%pre%

So 2) и 3) адреса SHELLCODE отличаются на 10

%pre%

, но 2) и 1) отличаются намного больше

%pre%

Ниже моей программы genv

%pre%

Очевидно, что стек genv строится где-то другим, когда он запускается в LLDB, и я предполагаю, что это имеет смысл (это усложняет переполнение буфера и другие хакеры с памятью или что-то совсем другое?). ОДНАКО - почему существует такое смещение 10 между проверкой регистра и фактической печатью на stdout в одном и том же прогоне?

    
___ answer25417241 ___

Указатель в массиве %code% с байтовыми адресами.

%pre%

Обратите внимание, что массив %code% содержит имя переменной среды ( %code% ), а также ее значение ( %code% ), разделенное символом = . Адрес значения равен %code% . Разница между этим и адресом в массиве %code% равна 10: девять символов в %code% плюс = .

    
___ tag123lldb ___ LLDB - это отладчик, созданный как набор повторно используемых компонентов, которые сильно используют существующие библиотеки в более крупном проекте LLVM, такие как парсер выражения Clang и дизассемблер LLVM. ___ tag123c ___ C - это язык программирования общего назначения, используемый для операционных систем, библиотек, игр и других высокопроизводительных работ. Этот тег должен использоваться с общими вопросами, касающимися языка C, как определено в стандарте ISO 9899: 2011. Если применимо, включите тег, специфичный для версии, например, c99 или c90 для вопросов, связанных со старыми языковыми стандартами. C отличается от C ++ и не должен сочетаться с тегом C ++, отсутствующим рациональной причиной. ___
4
ответа

libmysqlclient15-dev для macs?

Требуется ли OSX для установки libmysqlclient15-dev? Я пытаюсь скомпилировать драгоценный камень, который терпит неудачу, и многие источники сообщают об установке «libmysqlclient15-dev», но я вижу это только для Linux, а не для OSX. Я что-то про...
задан 07.12.2009 в 05:45
4
ответа

установка MySQLdb для Python 2.6 на OSX [дубликат]

Я пытаюсь установить MySQLdb для Python 2.6 в соответствии с этими инструкциями: Ссылка Когда я доберусь до этого шага: $ python setup.py build Я получаю сообщение об ошибке: users-MacBook-Pro:MySQL-python-1.2.3 user$ sudo python...
задан 10.10.2010 в 04:23
4
ответа

OSX Emacs: отсоединить только правую кнопку?

Я использую emacsformacosx.com и хотел бы остановить Meta_R (правый мета или правый ключ опции ) на моей клавиатуре Apple из мета-ключа Emacs. Причина в том, что я хочу иметь возможность продолжать использовать правильный ключ опции в кач...
задан 14.06.2011 в 15:38
4
ответа

Поиск текущего активного окна в Mac OS X с использованием Python

Есть ли способ найти имя приложения текущего активного окна в данный момент в Mac OS X с помощью Python?     
задан 16.12.2008 в 23:33
2
ответа

Модернизация Maven на Mac

Попробовал обновить maven. Следуйте этом учебнике. Теперь я получаю это Как файл существует и не существует?     
задан 18.11.2013 в 12:09
3
ответа

Просмотр динамически распределенного массива с помощью отладчика Xcode?

Скажем, у меня есть массив в C ++: double* velocity = new double[100]; Используя командную строку GDB, я могу просмотреть этот массив с помощью команды: > print *velocity @ 100 , и он напечатает красиво отформатированный список в...
задан 27.01.2009 в 19:53
1
ответ

Не удается импортировать ключи gnupg из-за преобразования ascii?

У меня проблема с импортированием моих ключей gpg на мой macbook pro. Это результат: pg: conversion from 'utf-8' to 'US-ASCII' failed: Illegal byte sequence gpg: key 5AE36741: public key "Micha\xc5\x82 Adamczyk <[email protected]>"...
задан 07.06.2015 в 20:15
4
ответа

Есть ли у C ++ менеджер пакетов, например, npm, pip, gem и т. д.?

Просто интересно, как лучше всего установить пакеты cpp. Мой фон находится в JS / Ruby / etc, поэтому кажется странным, что нет cpm или тому подобного. Что мне не хватает? Я предполагаю, что это не так просто ... В качестве примера я даже...
задан 09.01.2015 в 19:32
3
ответа

Атомное случайное открытие файлов на одной и той же вкладке (или другой)

У меня есть проект, открытый в Atom, и когда я нажимаю на файл, чтобы открыть его, вместо того чтобы всегда открывать его на другой вкладке (как это делалось до сих пор), теперь он случайно открывает его на новой вкладке или в существующем. Из-з...
задан 23.03.2016 в 19:40
5
ответов

Как открыть emacs gui / ide из Mac терминала?

Я пытаюсь открыть файлы на emacs за пределами терминала. Я предпочитаю среду gui / ide, когда я кодирую вместо того, чтобы делать это через терминал. Первоначально я думал, что набрав emacs filename.py , вы откроете этот файл через Emacs.app,...
задан 21.08.2013 в 04:36