Register and join over 40,000 other developers!
Recent Topics
-
Print specific values from dictionary with a specific key name
Siten0308 - Jun 20 2019 01:43 PM
-
Learn algorithms and programming concepts
johnnylo - Apr 23 2019 07:49 AM
-
Job Gig PHP Form Needed
PJohnson - Apr 18 2019 03:55 AM
-
How to make code run differently depending on the platform it is running on?
xarzu - Apr 05 2019 09:17 AM
-
How do I set a breakpoint in an attached process in visual studio
xarzu - Apr 04 2019 11:47 AM
Recent Blog Entries
Recent Status Updates
Popular Tags
- networking
- Managed C++
- stream
- console
- database
- authentication
- Visual Basic 4 / 5 / 6
- session
- Connection
- asp.net
- import
- syntax
- hardware
- html5
- array
- mysql
- java
- php
- c++
- string
- C#
- html
- loop
- timer
- jquery
- ajax
- javascript
- programming
- android
- css
- assembly
- c
- form
- vb.net
- xml
- linked list
- login
- encryption
- pseudocode
- calculator
- sql
- python
- setup
- help
- game
- combobox
- binary
- hello world
- grid
- innerHTML

4 replies to this topic
#1
Posted 04 December 2010 - 12:10 PM
I'm trying to learn about executing instructions on the stack, however I am having some issues with doing so and I want to determine if the stack on my system is non-executable. How can I determine this? Is there a setting in the kernel for this that I can change. I'm running an x86 version of the 2.6.36 linux kernel, arch linux specifically.
#2
Posted 07 December 2010 - 08:11 AM
Does nobody know or did I post in the wrong forums?
#3
Posted 16 December 2010 - 10:56 PM
If it is about the processor you could try reading the Intel Architecture Software Developer's Manual. I am not very sure how you try to execute instructions on the stack, though.
#4
Posted 18 December 2010 - 01:51 PM
Well I think I found out how to determine if the stack is non executable if your running a linux system. You simply run "cat /proc/(pid of any process)/maps and that show you the virtual memory usage and the permissions, and in my case the stack does not have the execution permission bit set, so I am assuming this means it is not executable. Now I am trying to allow my stack to be executable on my system but can't figure it out.
To answer your questions about executing instructions on the stack, if you a buffer that can be overflowed for example, and you know the layout of the stack you can overwrite the return address pointer to point to some address in the stack which you put a machine instruction in there that can then be run.
To answer your questions about executing instructions on the stack, if you a buffer that can be overflowed for example, and you know the layout of the stack you can overwrite the return address pointer to point to some address in the stack which you put a machine instruction in there that can then be run.
#5
Posted 20 December 2010 - 12:46 AM
I think this might have something to do with the protected mode descriptor tables, for the program, but I don't know how to allow the stack to be executed.
Also tagged with one or more of these keywords: stack
Language Forums →
C and C++ →
Do local variables have stack-dynamic lifetime?Started by DarkLordCthulhu, 25 Jan 2015 ![]() |
|
![]() |
||
![]() Problem with Stack Pop in C functionStarted by Pally, 22 Dec 2013 ![]() |
|
![]() |
||
Language Forums →
Java →
Counter not working properlyStarted by pcSetUp, 02 Apr 2013 ![]() |
|
![]() |
||
General Forums →
General Programming →
[Haskell] Custom stack-push function for haskellStarted by jasonalien, 02 Mar 2013 ![]() |
|
![]() |
||
Language Forums →
Other Languages →
Assembly →
Stack Pushed Out of Order, Help Understanding these Results?Started by Pally, 27 Feb 2013 ![]() |
|
![]() |
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download