That will make many programs have problems on XP. How can M$ make such a blatant error? I did try the Compatiblity Modes and they were no help to fix this problem. That's not Compatiblity. M$ $(_)X! :( Posted on 2001-10-19 22:15:48 by bitRAKE
Ei KetilO... I was wondering if I can post your program in my website... and If you do, could you send me every update and thingies so that I can post it in my site and everybody can go and look and see if there is an updated version.... What do you think?

the site is http://tsongkie.cjb.net

there are some Gamehacking ASM tutorials there also...

BTW my e-mail is tsongkie@gamefreaks.ph
Posted on 2001-10-20 01:25:01 by Tsongkie[ii]
I'm not KetilO :grin:, but why not you simply put a link to KetilO's web site? Your visitors will always have the latest RadASM version as soon as it will be published by KetilO.
Posted on 2001-10-20 04:27:33 by LuHa
As far as I know, KetilO doesn't have a web-site - I really don't mind him spending all his time on RadASM - HTML is not for him. :grin: I believe Iczelion has posted RadASM on his site, and it is here. It's on my site, but you'd have to know the name of the file. :) I'd like to see it peppered across the web - mainly overwriting bloatware.
Posted on 2001-10-20 05:57:55 by bitRAKE
Ops.
:stupid:
Posted on 2001-10-20 06:24:47 by LuHa
From another thread titled "ecx preservation":

I don't remember where I originally found this,
but it has been verified in a number of
situations.

The program calling a subroutine or Win32 function
should save:

EAX
ECX
EDX

as they may be modified in the called function.

The function which is being called should save:

EBX
ESI
EDI
EBP

and restore before returning control to caller.

Hutch-- agreed with this, except for the EBP
register. He didn't think is was usually
necessary.

Farrier
Posted on 2001-10-20 15:18:35 by farrier
farrier, that was my understanding as well. Reversed my logic in the above post. :)
Thank you
Posted on 2001-10-20 16:19:56 by bitRAKE
I don't know if register preservation effects KetilO's code but there is good reason to observe the standard windows conventions with register preservation to make code reliable across different versions of windows.

Preserve EBX, ESI & EDI in your own procs like normal if you use them and when you call an API function, do not assume that EAX, ECX & EDX will be the same after the function returns. I have been caught a number of times with obscure bugs that were very hard to find that followed from forgetting these basic conventions.

When you are mixing API calls and mnemonics, it is often easier to seperate registers from memory operands and pass the parameters as memory operands so you don't have to perform as much specific preservation code.

ESP and EBP are normally used to control stack in the entry and exit of procedures so you are better to leave these alone unless you are doing some non standard stack manipulation which can be done but it means taking particular attention to what registers are used. Usually you would call non standard stack handling from standard procedures where you have reference to what registers are being used and what are not.

Regards,

hutch@pbq.com.au
Posted on 2001-10-20 17:09:34 by hutch--
Hi all

To Tsongkie:
I just visited your web site. Beeing a professional programmer I hate hacking, virus and reverse engenering. I am sorry, I will not be associated with stuff like that.

To bitRAKE, farrier and Hutch.

I have lerned all about register preservation the hard way. I never thought about this as anything else but a bug. That edx was preserved when using lstrcpy and lstrlen on Win98 and Win2k and not on WinXP is just bad/good luck. As the api's was called in another proc it was not obvious why this error occured.

KetilO
Posted on 2001-10-20 19:00:44 by KetilO
Well then it's ok. But as far as I know there is nothing illegal with gamehacking (making trainers). But it's ok dude. :)
Posted on 2001-10-20 20:18:24 by Tsongkie[ii]
Hi Tsongkie

"]
Well then it's ok. But as far as I know there is nothing illegal with gamehacking (making trainers). But it's ok dude. :)


I am sorry that i feel this way. I guess making trainers is ok. I will have a second look at yor page, maybe I was too hasty.

KetilO
Posted on 2001-10-20 21:01:37 by KetilO

Originally posted by KetilO
Beeing a professional programmer I hate hacking, virus and reverse engenering.


Let's begin with a little smile
:)

Hacking ( the real hacking, not the system cracking term )
- I see nothing wrong in hacking. Hacking is the essence of learning the functionality of something that is undocumented.
Ex: The old ModeX on video cards was a hack to make some video cards run in a resolution that was not initially meant to be suported by these video cards. ModeX was not meant to exist and so it was undocumented and one day someone hacked it out.

- I know it's a bad thing to be infected by a virus (I already lost my Flash ROM with one), but I feel a deep respect for those who code these viruses. A virus is a little peace of art wich contains a lot of knowledge put in it. To write a good respected virus you have to know a lot about the funcionality of the OS for wich you are writing the virus, and then it must also be able to hide himself from AV's and it must replicate himself over the HD and Internet to survive, and some viruses do that very well.

- Reverse Engineering? Without it Linux would not be what it is today. We would not have some of the tools that we use today. The ignorance of most of the manufacturers of Modems, Video Cards, Sound Cards, ect make them do never release specs about there hardware functionality. Maybe you never used GNU/Linux, but I did and I continue using. Having a modem or sound card wich does not work on your favorite system makes you very angry as time passes. I had this kind of problems and I know that I would not care if someone gives me a driver wich works fine but wich was created trough reverse engineering. I would simply use it and say "Finally a working driver. If the manufacturer doesn't create one, someone else does.".

That was my opinion about Hacking, Viruses and Reverse Engineering.

PS: KetilO: I respect your opinion, it's yours and it's ok. But I'm sure that at least once in your life you do have used something wich came from a hack or a reverse engineering. :alright:
Posted on 2001-10-21 03:02:08 by eeprom
I think your right, all its knowledge.
When i had my Amiga (beautiful machine :)) i saw a film, dont remebr the title but it was about a guy who had alot of knowledge about the dark and good side of the PC. I the next day i wrote a password cracking prog and i kind of like it.

When i bought my PC I start to learn ASSEMBER to do the same as that guy from the film (stupid huh... i was young).
I started to wirte viruses, than i had some fun with Reverse Engineering and cracking programs, and some day when i wrote a patcher i started to like more porgraming in asm then cracking, Reverse Engineering, and viruses writing and all that gave me a lot of knowledge.



P.S.
None of my viruses and cracks where ever released! All was done for knowledge only!!! And that is good side of the bad side.
Posted on 2001-10-21 06:29:41 by NEMO
I tend to agree with KetilO over most of these issues, the term hacking years ago meant anyone who wrote low level code but there has been semantic shift in the computer industry and the term usually means people who try and break the security of servers and similar.

Reverse engineering has its orgins in programmers having to reconvert old mainframe code to a high level language again so it could be ported to a later hardware. Cracking commercial software is another matter, it used to be sport for some but more often than not its a just to get something for nothing.

Virus programming has nothing going for it at all, many of these guys end up with a lot of knowledge on how to hide destructive code in clever ways but in coding terms, this stuff is crap at best. Talk of payloads and other similar stupidity only covers up what is being done by the people who release this stuff, useless destruction of the most vulnerable computer users who have never harmed anybody.

When the pentagon is hit with the latest virus, its bad security on their part but attacking people who are simple families trying to get some value out of a humble box for themselves and their kids is unfair and cowardly.

This forum is not about destruction but about creating good software. I offer this challenge to anyone who is still playing with garbage, making software is harder than breaking it so try and do the harder stuff, create useful software than other people can use, not destructive things that destroy parts of the lives of vulnerable people.

Regards,

hutch@pbq.com.au
Posted on 2001-10-21 07:00:31 by hutch--
Hutch, I tend to agree, but as much as we hate it, reverse engineering is necessary to learn about undocumented features (as someone pointed out), and viruses (if not used destructivly) can be an excellent means to bug fix. If I was creating a OS based on security, I'd want someone who knew how to write viruses on my team so I would know what not to do.

I guess there is a good and bad side to everything and it's up to the person to decide what to do with the knowledge.

Think if all the virus programmers got together and programmed a secure OS, that thing would probably NEVER get a virus or hacked or anything because you have people trying to hack their own OS.
Posted on 2001-10-22 09:26:39 by Kenny
Hi @ all.

I downloaded RadASM when it was 1.03 (I think) but I never used it. I recently downloaded the 1.05 version and tried it, but there are a few things I think could be done in an easier way than how I make. Alas I cannot find these easier way... so I'm asking your help :).

1) When I create a dialog, I can save it only as a "DLG" file. I have to "export to output" it, select, copy and paste/replace in the "RC" file. Cannot it be done in a straighter way?

2) As far as I know (but I didn't tried) MASM doesn't recognize "#define <NAME> <NUMBER>", and I have to use the "<NAME> EQU <NUMBER>" instead. When I "export to output" a dialog I get a lot of "#define <NAME> <NUMBER>". Have I to manually edit them or is there a way to come up with the "<NAME> EQU <NUMBER>" instead?

Probabably I wrote something (or many things) stupid, but a comment would still be appreciated.

Thanx,

Daniel
Posted on 2001-10-25 12:20:16 by dguzz
Hi dguss

There are simple solutions to both your questions.

1) When I create a dialog, I can save it only as a "DLG" file. I have to "export to output" it, select, copy and paste/replace in the "RC" file. Cannot it be done in a straighter way?

On the Option / Dialog Editor check the Save RC file.
The .rc file will be saved in your projects \res folder.
In your main .rc file write:

#include <res\MyDialogDlg.rc>

2) As far as I know (but I didn't tried) MASM doesn't recognize "#define <NAME> <NUMBER>", and I have to use the "<NAME> EQU <NUMBER>" instead. When I "export to output" a dialog I get a lot of "#define <NAME> <NUMBER>". Have I to manually edit them or is there a way to come up with the "<NAME> EQU <NUMBER>" instead?

On the tools menu select Export ID equ's. This will export all ID's on the form <Name> equ <Number>.

By the way, 1.0.6 will be up in a few hours.

KetilO
Posted on 2001-10-25 13:32:37 by KetilO
Hi Ketilo,
thanx very much for the answer even though the questions were very very stupid.

Sincerely,
Daniel

:stupid:

P.S.
Again my compliments on you for your GREAT GREAT work. ;)
Posted on 2001-10-25 13:41:01 by dguzz