Sorry but we cannot have reference to that type of data here.

What a problem? It is not a subject of DMCA or board rules. Damn, it was just names of ezines. I didn't provide direct url nor url to the site with this zines. I didn't encourage him to code virii or something like this. I've just said him where he can find for what he is searching.

It seems this board is going to the cyberhell as well USA. Unfortunately, it trailed rest of world after itself. It seems this board became absolutely useless. Very pitiful sight.

Aquila,

I do not legislate what is done around the world but the forum will not allow reference to viral technology no matter what. This board is hosted in the US that has legislation about subjects of that type so the forum simply will not allow it. The correct place to object to such legislation is to contact the appropriate US administration and argue it with them.
Posted on 2002-10-18 12:20:08 by Aquila
If i remember correctly, under windows you must set the privileges of a memory section so it can be executable.

1. Set the memory section to be writable.
2. Modify the memory area..
3. Set the section to be NOT-writable and executable.

Sorry I cannot give you the details of the api used for this (because im my development machine right now).
Posted on 2002-10-18 14:27:41 by dxantos
Hola dude :)
I use to set the sections readable+writable+executable, and it all works good without problems (i.e. executable doesn't require read-only).
Posted on 2002-10-18 15:50:28 by Maverick



I can't compile all possible versions at development time because of space and time limitations. Space because I currently have 12960 combinations. Suppose they all had a constant length of 1 KB, then I had almost 13 MB of code. If that doesn't sound much to you, then you should know that every new setting I add multiplies this by the number of options. So obviously time is also a limitation because I don't want to wait till all combinations are compiled until I can test them all. Besides, compiling one shader happens in a praction of a second, so simply caching the last couple of shaders is much more economical.

Disassembling a library is a lot easier than reading an encrypted file with a run-time assembled decryptor...


Let me see if I get this: You have a bit of shader source code, then you add/subtract some terms/statements when you change an option, then recompile?

I guess that could be implemented, with one heck of a lot of effort, as SMC, with possibly better results. WITH one heck of a LOT of effort. So I see this has some use too.

Disassembling a crypted code library is a lot harder than reading an encrypted source code file.
Posted on 2002-10-19 19:50:16 by AmkG

SMC is neither good or bad,
in the past, in other languages, I've written programs which only modified their DATA sections. It eliminated the need for .INI files or registry entries. I was accused of being a virus writer by writing SMC. How absurd!? My question:
If I write a stand-alone .EXEcutable which only modifies its DATA sections; is that considered SelfModifyingCode?
Thanks.
Joe
{please be patient, I'm new here}
Posted on 2002-11-14 16:21:03 by TronDoc

in the past, in other languages, I've written programs which only modified their DATA sections. It eliminated the need for .INI files or registry entries. I was accused of being a virus writer by writing SMC. How absurd!? My question:
If I write a stand-alone .EXEcutable which only modifies its DATA sections; is that considered SelfModifyingCode?
Thanks.
Joe
{please be patient, I'm new here}


Nope, it wouldn't be considered SMC.

To be considered SMC you must modify the instructions in the code section.

Some uses are:

- avoiding test and jumps
- make code less clear as a protection scheme.
- change a number that you only know at runtime. (Like screen resolution).
Posted on 2002-11-15 09:52:28 by dxantos



Nope, it wouldn't be considered SMC.

To be considered SMC you must modify the instructions in the code section.


I'd have to disagree. In MASM I can define code in the data section and data in the code section if want too.
In fact, the label of '.code' and '.data' sections seems to be more for the OS that the program, so the OS knows to generate a protection error if you write to the code segment. Putting code in the data section is an easy way to get the linker to remove the write protections that come with the code section.

I'd define SMC as any code that modifies code at run time. Weather it is changing the opcode, or just patching the address after a jmp, I'd call it SMC. That can be done in the code section, or more easily in a data section.
Code is code no matter what section it is in. If it is modified at run time and executed, it is SMC.
Posted on 2002-11-15 10:45:10 by ThoughtCriminal
SMC is also good for low-level self-organizing systems (SOS). I actually think it is key to implementing evolving code on computers. The alternative is replication which basically requires
one to have an API or higher level language to manage it. This introduces complexity, inefficiency, and unnecessary abstractions. All 3 of those factors combined I think is what has kept back this
exciting field.

halt equ 0F4h
mov byte , halt
no_halt: nop
Posted on 2002-11-15 12:36:06 by jwm