Invisible Walls, Bit of fun with preplaced units
Post #1
jjf28
Jun 20 2011, 4:42 am
Post #2
Lanthanide
Jun 20 2011, 5:13 am
|
Screenshots? What OS are you running, as that probably matters.
![]() ![]() ![]() ![]() ![]() ![]() O)FaRTy1billion -- "Lanthanide -- surely you have photos of yourself dressed up as a girl, az?" I don't have pictures of me dressed up as a girl.
O)FaRTy1billion -- One time I was jumping on a trampoline (at that very friend's house xD) with water balloons in my shirt held up by a belt. Azrael.Wrath -- ... |
Post #4
Roy
Jun 20 2011, 6:10 am
|
An artist's depiction of an Extended Unit Death
|
That seems like a neat thing you found there, but if it's only supported on XP, the practicality has just plummeted. I like the Dragoon shots especially.
![]() ![]() ![]() ![]() ![]() ![]() Learn how to make EUDs: [EUD] A Mapmaker's Guide for Creating EPDs
Don't like learning? EUDGen2 Other stuff: Farlap Bound Maker [EUD] EUPCalc SC1 Maps: Dash: 1 2 3 4 5 6 7 8 9 X Jog: Original Warp Other: Super Mario SC Fireball Guard Your Civilian Strength Contest Interceptor Arena |
Post #6
Heinermann
Jun 20 2011, 11:09 pm
|
BWAPI Project Owner
|
The OS does not matter. If it runs Starcraft.exe then the data layout is the same. Always.
If the data changes then that's up to Starcraft and not the OS. Starcraft is a 32-bit application and even if you run a 64-bit system, it doesn't matter when it's only using the 32-bit subsystem. |
Post #7
Lanthanide
Jun 21 2011, 12:09 am
|
Then why does the memory layout of SC change depending on the operating system? It doesn't really matter if it is was the OS or SC that made the memory change, the fact is the memory is different on different operating systems.
![]() ![]() ![]() ![]() ![]() ![]() O)FaRTy1billion -- "Lanthanide -- surely you have photos of yourself dressed up as a girl, az?" I don't have pictures of me dressed up as a girl.
O)FaRTy1billion -- One time I was jumping on a trampoline (at that very friend's house xD) with water balloons in my shirt held up by a belt. Azrael.Wrath -- ... |
Post #8
jjf28
Jun 21 2011, 1:02 am
|
Relax.
|
As my understanding goes, x64 and x32 are basically the same, x64 just has higher RAM limits, so I wouldn't count those as different or expect any change in this sort of thing. But x86 has changes to the way in which programming works including memory architecture that in many cases is ment to prevent buffer overflows and similar security risks posed by C and C++ - which I why, I assume, this doesen't work on my x86 PC.
For a test I ran this map from starcraft off my flashdrive on four different computers, a Win XP x32, Win XP x64, Win 7 x64, and Win 7 x86, it worked identically on the first three, but crashed on the windows 7 x86, it also showed different memories being referanced in starcrafts crash message when I tried some of the same units |
Post #9 iCCup.xboi209 Jun 22 2011, 2:58 am
Post #11 iCCup.xboi209 Jun 22 2011, 3:07 am
Post #12
Roy
Jun 22 2011, 3:19 am
|
An artist's depiction of an Extended Unit Death
|
Try not to make this a discussion on Vista but rather the intent of the original topic.
Does 7 x86 work at all? Have you tried it for other values? It seems odd that this would be the odd-platform-out. At the very least, it would just be a memory allocation issue (I'd think). Have you tried compatibility modes on it? ![]() ![]() ![]() ![]() ![]() ![]() Learn how to make EUDs: [EUD] A Mapmaker's Guide for Creating EPDs
Don't like learning? EUDGen2 Other stuff: Farlap Bound Maker [EUD] EUPCalc SC1 Maps: Dash: 1 2 3 4 5 6 7 8 9 X Jog: Original Warp Other: Super Mario SC Fireball Guard Your Civilian Strength Contest Interceptor Arena |
Post #13
jjf28
Jun 22 2011, 3:20 am
|
Relax.
|
I did have a vista for a while... It had more general problems than XP did (freezes, security vulnerabilities), and didn't run some programs from earlier systems (i'd say 5%)
You will, in addition, continously find little errors when running programs that did not appear on older systems - most of them are annoying and harmless but some will crash the program - developers tended to fix many of them for the new system but it's poor showmanship for a newer OS to force programs to adapt to them I'll try it, but I think it's a memory structure differance Update: Tried it as admin, winXP mode and such, didn't work, also tried the p15 scarab trick which also crashed in all the modes. This post was edited 2 times, last edit by jjf28: Jun 22 2011, 7:00 am. |
Post #14 iCCup.xboi209 Jun 23 2011, 6:24 pm
Post #16
Heinermann
Jul 4 2011, 4:35 am
|
BWAPI Project Owner
|
It doesn't. Plain and simple. The memory layout is exactly the same. Only the values stored in the memory will change.
A 64-bit system is completely different than a 32-bit system, allowing 64-bit applications to take advantage of 64-bit operations (for example: a program can now copy 8 bytes immediately instead of having to copy 4 bytes twice). Though, it still contains a 32-bit subsytem, allowing backwards compatibility with older applications (32-bit applications use the 32-bit subsystem, and 16-bit applications use the 16-bit subsystem(is it still even supported?). A 32-bit application can't use the upper bounds of memory that a 64-bit system has access to, because a 32-bit app can only store addresses using 32 bits. As to why it crashes in some operating systems: Your buffer overflow is is reading from a pointer, that pointer points to a block of memory which is coincidentally being allocated in the same block. In fact, it's such a coincidence that it could even be different on the same operating system. It's a buffer overflow. Here are some general rules:
Again, I just want to emphasize that the memory structure can't change. It's simply impossible. Not improbable, impossible. |
Post #17
Lanthanide
Jul 4 2011, 10:32 pm
|
Right, so the memory structures don't change, just the contents. That doesn't really change my point and you're simply arguing semantics.
![]() ![]() ![]() ![]() ![]() ![]() O)FaRTy1billion -- "Lanthanide -- surely you have photos of yourself dressed up as a girl, az?" I don't have pictures of me dressed up as a girl.
O)FaRTy1billion -- One time I was jumping on a trampoline (at that very friend's house xD) with water balloons in my shirt held up by a belt. Azrael.Wrath -- ... |
Post #18
Heinermann
Jul 5 2011, 2:33 am
|
BWAPI Project Owner
|
The dynamic data is allocated, that allocation happens to be in the same block. With a different operating system, it might run, let's say, a compatibility module that allocates memory before program execution. The order in which the memory was allocated now changes, and now the data is allocated in a different block, and a different pointer is stored.
I'm saying the buffer overflow may be reading from that pointer. Not only can it be different for another operating system, it can even be different for the same operating system. You could run WinXP and it might work fine 100%, I could run WinXP and it could fail 100%, just because it allocated something extra like an application watch-dog or something. |
Post #19
jjf28
Jul 11 2011, 12:45 am
|
Relax.
|
Additional research revealed the confusing nature of what x86 acctually is, sorry if I dragged anyone into my thinking
To note, you never mentioned x86 . Anyways, am I being misled by or misinterpreting my source articles?As read, I took it that assembly code for x86 was setup differently in such a way that would change memory architecture into a form where it would all run the same - and be more secure. This post was edited 3 times, last edit by jjf28: Jul 11 2011, 5:46 am. |
0 members in this topic (italic members are currently writing a reply): None
+ guest(s)
+ guest(s)
[03:28 am]
[03:18 am]
[01:33 am]
[01:33 am]
[12:33 am]
[12:33 am]







. Anyways, am I being misled by or misinterpreting my ![[close]](/images/up.gif)