Zero
06-16-03, 01:56 PM
Exactly what would one use Hex editing for? Besides hacking into computer games?
|
|
View Full Version : Hex!? Zero 06-16-03, 01:56 PM Exactly what would one use Hex editing for? Besides hacking into computer games? Blindman 06-17-03, 09:07 AM Hex a handy way to enter colours ffffffffHex (white) much better then 256 + 256 * 2^8 + 256 *2^16 + 256 *2^24; (32bit colour with alpha) Hex is not used to hack... Hex is just another way to write a number. Ectropic 06-17-03, 07:26 PM I think a hood way to use hex would be for use on your taxes. Tell them that you saved money on ink because hex is space saving so you didn't have to deduct the cost of the pen. In case you don't understand it and think it is hard it is not. You just have more options for each digit because you can go beyond the normal options for 0-9 and use a-f also. Blindman is right, the place I use them the most is in graphics apps where I can set a color using the hex alphanumberals. For example: the number below gets me a nice shade of baby crap. 9E C5 00 = 158 197 0 psychomantyss 06-17-03, 08:23 PM well i need a good hex editor, any sugg? i'm gonna use mine for software distribution like the ones that can only install to the c drive but my primary drive is d. Voodoo Child 06-17-03, 10:12 PM Hex editors are often used for cracking programs or modifying their behaviour when you don't have the source code. Good hex editors are Hiew and Hexedit by Expert. HexEdit has a nice hex calculator, graphical interface. Stryder 06-19-03, 11:26 AM Hex editing is also very good for editing "ON-THE-FLY". This means that while something is running, you can edit information stored in RAM (although not many script kiddies have access to this method). This can how ever cause alsorts of small problems (like buffer overflows and crashes) but thats one of those things that you do if your dealing with say "development". Mystech 06-19-03, 06:16 PM Forget hex, man, how about octal? Now there's a number system that's not for panzies! Base ten has always worked well for me, other number systems just hurt my head. Ectropic 06-19-03, 07:44 PM Originally posted by Mystech Forget hex, man, how about octal? Now there's a number system that's not for panzies! Base ten has always worked well for me, other number systems just hurt my head. Octal is child's play. if you understand binary even a little then octal is easy. Here is an example of an octal number 111 010 111 = binary for 7 010 = binary for 2 111 010 = 72 Blindman 06-21-03, 12:33 PM Stryderuunknown. if your dealing with say "development". You change code with a hex editor to develop?? Don't sound like an easy way to develop. Fen 06-22-03, 12:29 AM Everyone who doesn't understand hexadecimal should be killed. Immediately. wesmorris 06-22-03, 01:15 AM Actually the fundamental reason that hex is used is because it's a quicker way to desribe the contents of a register in a processor. Used to be eight bit registers easily represented by two hex numbers. CA = 11001010 Humans don't generally relate well to the right side of the equation, but the left is something usable - so when people are having to program high level lanuages via assembler code, CA is much easier to remember than 11001010. Stryder 06-22-03, 05:52 AM Blindman, Yes in "Development", how else do you think a person should test for the possibility of "Buffer Overflows" within their projects, and of course how far the potential exploitations could go. Blindman 06-23-03, 02:07 AM Stryderunknown, Maybe they should try putting a If(bufferPointer >= MaxBufferlLength) { Error handling code;} before you access a buffer and you will never have to test you project for buffer overflows again. Buffer overflows, the number one causes of software bugs, and the easiest to prevent. Fen 06-23-03, 11:55 AM Originally posted by wesmorris Actually the fundamental reason that hex is used is because it's a quicker way to desribe the contents of a register in a processor. Used to be eight bit registers easily represented by two hex numbers. CA = 11001010 Humans don't generally relate well to the right side of the equation, but the left is something usable - so when people are having to program high level lanuages via assembler code, CA is much easier to remember than 11001010. Most humans can't understand CAh. They should be killed, because decimal is evil. wesmorris 06-23-03, 12:19 PM Originally posted by Fen Most humans can't understand CAh. They should be killed, because decimal is evil. Far worse than death is job prospects for people with a limited understanding of stuff, unless of course they can be somehow deemed entertaining or they're mafia. Fen 06-23-03, 04:06 PM Originally posted by wesmorris Far worse than death is job prospects for people with a limited understanding of stuff, unless of course they can be somehow deemed entertaining or they're mafia. Hexadecimal isn't quite making the job listings, although it's there on a few. Where you do see people getting stupified by it is HTML coders, who are less technical than programmers. Try reading HTML books talk about a "mystic" hexadecimal system, and advise people just to look at the chart to do colors. Blindman 06-24-03, 07:29 AM When I was young and first learning to program, I loved to create games and graphic demos. back then there were no painting packages at all. I designed all my graphics on graph paper with four colour pencils, then converted the graphics to numbers (0-255). I got so good at it I could instantly recognize four pixels and know the digital and binary representation. Is entered my graphics via decimal numbers, then one day I discovered HEX. I could soon scan the graph paper and type HEX in to the assembler. Sped things up greatly. I used it extensively till I started programing in C. The only reason hex was used was for speed and convenience. These days Hex is mostly legacy.. In HTML the four colour channels are easily represented in hex, but modern graphics hardware is starting to push the 8 bits per channel, 10 bits 12 even 16bits per channel is starting to make the Hex representation of colour obsolete. Colours are ultimate ether named, (ie Red, Green, DarkBlue) or represented as a set of four floating point number (ie RED with 50% transparence = (1,0,0,0.5)) Also as CPU's increase there functions they started handling more complex data types.. One of the first adopted by the CPU was floating point numbers. The best and only way to enter them is via digital (ie 1.0, 5.677E+32). Hex is total pointless for these data type. HEX used to be used by hackers.. It was simple to write a hex editors and modify code as it ran. Yet today with modern disassembles and very advanced hacking tools HEX is almost forgotten. HEX is not dead but it will disappear. You wont miss anything if you total ignore HEX. Fen 06-24-03, 11:37 AM Floating point is actually binary...decimal is very ill suited for it. Most of your post works if you sub decimal for hexadecimal. Blindman 06-24-03, 09:40 PM Fen.. I think Ill stick with decimal when entering floating point numbers. Just wounder if you know what this float is 00802644Hex. Fen 06-25-03, 12:56 AM Originally posted by Blindman Fen.. I think Ill stick with decimal when entering floating point numbers. Just wounder if you know what this float is 00802644Hex. Recent versions of C do allow hexadecimal input of floats. I'm just wondering if you are aware that floating point is done in binary, and using decimal to represent it is a very common source of programming error? You do know that you can't represent something like a tenth in binary floating point, right? Blindman 06-25-03, 11:44 PM Fen I think you are a little confused. C, or C++ or C# float fNumber = 0.1f; double dNumber = 0.1f; The two numbers can only be used by the floating point unit (FPU) on the CPU. You can't just use binary math to add or multiply them. You could enter them as hex but I think it is a painful way of doing it. EG float fNumber = 0.1f; // standard way to enter a floating point number fNumber = 0xCDCCCC3D; //entering the same numbers as HEX will produce a compiler error fNumber = (float)0xCDCCCC3D; // will work but its easier just to enter 0.1f; One of the good things that can be done with the FPU is that it can do floating point instruction concurrently with standard CPU arithmetic if you write your code well. There is also a type of Fixed float that can represent fractions in binary and still use binary arithmetic to work. I used to use this format alot before FPU's became the norm. Fen 06-25-03, 11:51 PM Originally posted by Blindman Fen I think you are a little confused. C, or C++ or C# float fNumber = 0.1f; double dNumber = 0.1f; The two numbers can only be used by the floating point unit (FPU) on the CPU. You can't just use binary math to add or multiply them. You could enter them as hex but I think it is a painful way of doing it. EG float fNumber = 0.1f; // standard way to enter a floating point number fNumber = 0xCDCCCC3D; //entering the same numbers as HEX will produce a compiler error fNumber = (float)0xCDCCCC3D; // will work but its easier just to enter 0.1f; One of the good things that can be done with the FPU is that it can do floating point instruction concurrently with standard CPU arithmetic if you write your code well. There is also a type of Fixed float that can represent fractions in binary and still use binary arithmetic to work. I used to use this format alot before FPU's became the norm. What is 0xCDCCCC3D? Is that the IEEE representation of the binary floating point number? What I'm saying is, 0.1f, as you write, cannot be represented in the FPU. I believe it is 0x0.19(repeat 9). As for painful, what about something easy in hex, like 0x0.1, which is 0.125 in decimal. Yes, of course you can enter it exactly in decimal, but it's much cleaner to use hexadecimal. Blindman 06-26-03, 02:19 AM Yes thats true. Sorry misunderstood your argument. Opps I got the number wrong 0xCDCCCC3D should be 0x3DCCCCCD is the IEEE representation of 0.1f well as close to one tenth as you can get with 32bit float, move to a double float and you can get even closer to one tenth. Still prefer to enter numbers a decimal. |