Вопросы

punkochel
Новичок

Доброго времени суток. В теме я хочу задать 2 похожих вопроса о правильном использовании памяти.

1) Почему в перехватываемой функции значительно увеличивается размер стека?

Приведу ситуацию:

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

  открыть спойлер

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

  открыть спойлер

Почему произошло увеличение размера стека?

Код инклуда который я подключил:

  открыть спойлер

Отредактировано пользователем punkochel

Поделиться сообщением


Ссылка на сообщение

3 ответа на этот вопрос

  • 0
Talex
Постоянный

 @punkochel, так по сути этот код равносилен этому:

public SomeFunc() {
	
	// некоторый код
	return SomeFunc2();
}

public SomeFunc2() {
	
	// некоторый код
	return 1;
}

И в стэке, соответственно, сразу выделяется память под хранение данных как из SomeFunc, так и из SomeFunc2.

Да и вообще подобные тесты советую проводить на чистых pwn файлах, без подключенных библиотек SAMP/CRMP.

Поделиться сообщением


Ссылка на сообщение
  • 0
punkochel
Новичок
  В 6/16/2019 в 19:53, Talex сказал:

 @punkochel, так по сути этот код равносилен этому:

public SomeFunc() {
	
	// некоторый код
	return SomeFunc2();
}

public SomeFunc2() {
	
	// некоторый код
	return 1;
}

И в стэке, соответственно, сразу выделяется память под хранение данных как из SomeFunc, так и из SomeFunc2.

Да и вообще подобные тесты советую проводить на чистых pwn файлах, без подключенных библиотек SAMP/CRMP.

Читать далее...  

 

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

Поделиться сообщением


Ссылка на сообщение
  • 0
Talex
Постоянный

@punkochel, хотите сказать после работы прекомпилятора ваш файл (если смотреть lst) будет как-то отличаться от этого? (за исключением других подключенных библиотек и названий)

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • deltaSpeed
      От deltaSpeed
      Нужен готовый или кастомный лаунчер SAMP Mobile для Android.
      Поддержка автообновления, загрузки ресурсов, и входа на мой сервер.
      Пишите в ЛС или в Discord: @ndp3042