Sent Take care, Sina -----Original Message----- From: programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of John G Sent: Sunday, April 10, 2011 4:19 PM To: programmingblind@xxxxxxxxxxxxx Subject: RE: Searching for blind programmer to start a school for blind programmers "...there was the virtual machine introspection stuff which was bit for bit analysis, in memory, at real-time. There's actually a paper on that one, if you'd like." I would be interested in the paper, Sina. Kind regards, John At 19:20 10/04/2011, you wrote: >A shell exploit about six months ago, maybe a year. Closer to a year actually. > >And then op code by op code for a hypervisor, namely Xen, around >their 3.2 3.3 versions, and mainly in their page manager. > >Then there was the virtual machine introspection stuff which was bit >for bit analysis, in memory, at real-time. There's actually a >paper on that one, if you'd like. > >Let's see, and then there was some malware analysis with a >friend/colleague of mine, but that was mainly him, and I was just having >fun. > >Oh yes, and stepping through some code for a friend's engineering >project, byte for byte; however, that was an 8-bit, then a 16-bit >processor, so if that counts, then wonderful. > >Oh, and last year/semester I wrote a compiler, so I guess that counts. > >I also collaborated on a paper to automatically prevent every single >possible return oriented programming hack/technique by >modifying the compiler, namely LLVM, to rewrite all generated op >codes without using a ret, so as to prevent alignment errors along >any kind of boundary, be they logical, page, byte, or otherwise; >such that unprivileged jumps can't actually escalate themselves. >The researcher on that one then used this technique to recompile the >entire kernel into a running system, think they settled on BSD >because of issues with Klang back then, using that protection >technique. That's actually a great paper, and I'd recommend it to >anyone. > >But, *shrug*, it doesn't come up all that often. I'm going to go >back to writing speech recognition code into a computer vision >algorithm for Android because HCI is way more fun! > >Bye for now > >Take care, >Sina > >-----Original Message----- >From: programmingblind-bounce@xxxxxxxxxxxxx >[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Ken Perry >Sent: Sunday, April 10, 2011 12:40 PM >To: programmingblind@xxxxxxxxxxxxx >Subject: RE: Searching for blind programmer to start a school for >blind programmers > >I think you might find it was more recent than you think judging by what >Sina has been doing. > >Ken > >-----Original Message----- >From: programmingblind-bounce@xxxxxxxxxxxxx >[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Christopher >Coale >Sent: Sunday, April 10, 2011 12:27 PM >To: programmingblind@xxxxxxxxxxxxx >Subject: Re: Searching for blind programmer to start a school for blind >programmers > >Stop being ignorant, Sina. You seem to be quite fond of the straw man. >So please, stop changing my words. > >First of all, I agree that computer programmers need to understand the >basics. I never once said they didn't. I never once said that low-level >was bad. So if your whole point is that "understanding low-level is >important", then I agree and nobody is this thread thus far disagreed >with that claim. So then, given that, what is your point that makes me >wrong? > >Sina, when was the last time you wrote a program from scratch using ONLY >A HEX-EDITOR? > >On 4/10/2011 5:40 AM, Sina Bahram wrote: > > Well, you definitely proved that I didn't need the other 65%, since your >message summed up exactly what my impression of the > > discussion was. > > > > And yes, I do feel it's important. Not crucial, or even necessary to be >successful, but most definitely extremely important. > > > > Understanding the fundamentals is something that gets ignored day in and >day out. > > > > Take care, > > Sina > > > > > > -----Original Message----- > > From: programmingblind-bounce@xxxxxxxxxxxxx >[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Christopher >Coale > > Sent: Saturday, April 09, 2011 10:36 PM > > To: programmingblind@xxxxxxxxxxxxx > > Subject: Re: Searching for blind programmer to start a school for blind >programmers > > > > How kind of you to join, master. Can you tell me who said that low-level > > was NOT important to know and understand? You admittedly stated that you > > ignored 65% of the messages, but then tell everyone to take Ken's side? > > Are you kidding me? You admit that you don't know what the argument > > (friendly argument) is about, yet you still pick a side? Come on now... > > > > Ken stated that --being able to write a program in pure machine code (no > > compiler or assembler)-- is important. I disagreed saying that it is not > > important. Knowing low-level concepts (like I pointed out earlier.. how > > the processor works, operating system design, etc.) is definitely > > important. Writing a program in pure machine code is an unnecessary > > skill, not an important one. > > > > On 4/9/2011 7:27 PM, Sina Bahram wrote: > >> I haven't read 65% of the messages in this thread, frankly because the >SNR is far too low. > >> > >> So can you guys please just listen to Ken on this one? > >> > >> low level is important to know and understand. End of conversation. > >> > >> Now go do something fun. It's Saturday night. > >> > >> Take care, > >> Sina > >> > >> > >> > >> -----Original Message----- > >> From: programmingblind-bounce@xxxxxxxxxxxxx >[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Ken Perry > >> Sent: Saturday, April 09, 2011 8:06 PM > >> To: programmingblind@xxxxxxxxxxxxx > >> Subject: RE: Searching for blind programmer to start a school for blind >programmers > >> > >> I think we are just going to have to disagree on this. While I doubt >anyone > >> is going to rush out and write a bit of Machine language I think it is >still > >> important to know how. It's sort of like saying it's not important to >know > >> that there is a linker and what it does most people on this list will >never > >> know what the linker does because they deal mainly with High level >languages > >> but that doesn't mean the linker is not important. Most people will >never > >> write machine language but when creating electronic circuits with smaller > >> chips it is a useful tool. True you may never hand write it but in >creating > >> hardware it is very useful in reading it. I just found learning to write >it > >> was very useful back in the good old Hack hardware cartridges days. Sure > >> the Intel book has both got bigger and more complex but I just saw a post > >> where a guy wrote a hello world in Machine language just to prove it >could > >> be done. Now I will point out he did it in Linux and he had to make his >own > >> linker of sorts well a shell linker all it did was write the file with >the > >> numbers he wanted but I think he did that just so he could use a normal > >> editor and he had to add the Aelf stuff on top but he did it in 120 bites > >> which I find pretty impressive since 80 of the bites were AELF stuff. > >> Anyway I am sure we are boring most of the people on this list. > >> > >> Ken > >> > >> > >> > >> -----Original Message----- > >> From: programmingblind-bounce@xxxxxxxxxxxxx > >> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Christopher > >> Coale > >> Sent: Saturday, April 09, 2011 7:39 PM > >> To: programmingblind@xxxxxxxxxxxxx > >> Subject: Re: Searching for blind programmer to start a school for blind > >> programmers > >> > >> Wait, you are adding new stuff in here. Yes, to me, it is important to > >> know how to optimize code for either size or speed. It is also important > >> to know how programs are executed and created (knowing the PE32 format, > >> for example); however, knowing how to write a program by scratch by > >> using a hex editor and writing pure byte code is not important. And, you > >> are misinterpreting my reason for saying it is not important. I'm not > >> saying it's not important because it is nasty studying. I'm saying it is > >> not important because it is simply not practical and teaches you no more > >> than studying assembly and operating systems (assuming you are actually > >> learning). And I didn't say it wasn't useful, either. Knowledge for > >> knowledge's sake is always good. But, I said it wasn't important. You > >> seem to be mixing up the knowledge required to do something and the > >> knowledge gained from doing said thing. In order to start editing a > >> program using a hex editor, you have to already have the knowledge to do > >> it (as in, you have to know that there is a data section, a symbolic > >> table, etc.). You gain no new knowledge (aside from knowing how to edit > >> executables) from editing, and/or writing, executables from within a > >> hex-editor. > >> > >> On 4/9/2011 3:59 PM, Ken Perry wrote: > >>> Oh really? I found it very useful knowing how to minimize code and data > >>> sections by hand. It explains what compilers and linkers have to go > >> through > >>> and ways to get around problems that exist. It even is nice knowing how > >> exe > >>> files are laid out. I agree that it's a nasty bit of study to get to >that > >>> point but I totally disagree that the knowledge is not useful. In fact >if > >>> you ever want to get involved with the GNU compiler group believe me >it's > >>> useful. > >>> > >>> > >>> Ken > >>> > >>> -----Original Message----- > >>> From: programmingblind-bounce@xxxxxxxxxxxxx > >>> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Christopher > >>> Coale > >>> Sent: Saturday, April 09, 2011 6:52 PM > >>> To: programmingblind@xxxxxxxxxxxxx > >>> Subject: Re: Searching for blind programmer to start a school for blind > >>> programmers > >>> > >>> My knowledge of how the processor works (by means of knowing assembly > >>> and OS development) is useful. Knowing how to write a program using only > >>> byte code is not (and I couldn't do it without many free hours and lots > >>> of reference manuals, and even then it would be a difficult task). Not > >>> to belittle your knowledge, but I'm just saying that being able to write > >>> a program using a hex-editor (and if you can, more power to you) is not > >>> very helpful in understanding how computers work; learning assembly and > >>> learning operating system design is where it is important, I would say. > >>> > >>> On 4/9/2011 3:45 PM, Ken Perry wrote: > >>>> Yes and us true geeks used to dream hex in our sleep. I think there >are > >>>> still some of us left and I am no longer one, I know of all the > >>>> possibilities and I can still code in ASM for burning chips but I no > >>> longer > >>>> dream in op codes and registers, memory locations and IRQ's. All I was > >>>> saying is learning of the existence and how it works is invaluable to a > >>>> programmer even today. Are you telling me your knowledge of the >subject > >>> is > >>>> not useful? > >>>> > >>>> Ken > >>>> > >>>> -----Original Message----- > >>>> From: programmingblind-bounce@xxxxxxxxxxxxx > >>>> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Christopher > >>>> Coale > >>>> Sent: Saturday, April 09, 2011 3:30 PM > >>>> To: programmingblind@xxxxxxxxxxxxx > >>>> Subject: Re: Searching for blind programmer to start a school for blind > >>>> programmers > >>>> > >>>> I didn't say it was impossible (after all, how else would a compiler > >>>> work?) I said that it was asinine and impractical. I say this because > >>>> the x86 instruction set is amazingly complex. Sure someone could use a > >>>> debugger to look around at machine code, that's not hard at all (in > >>>> fact, I do it a lot with vc++ to debug things and get performance > >>>> boosts). But, writing a binary file from scratch? I see it being > >>>> possible, but you would need to know the encoding of every instruction > >>>> you use. For example, "int imm8" is apparently 0xCD + the immediate > >>>> byte, so to do int 80h, you'd have 0xCD80. That is fairly simple, but > >>>> the "mov" instructions where you can have memory, immediate, and > >>>> register operands are difficult, and then for each memory, immediate, > >>>> and register operand you have an 8-bit, 16-bit, 32-bit, and for x64, > >>>> 64-bit versions. It's no small feat to write a binary by hand. > >>>> > >>>>> Laugh yes I have read them and there was a time I could write some >very > >>>> good > >>>>> stuff with nothing but a debugger. Just because it's nasty don't mean > >>>> it's > >>>>> impossible. I was not even in the same class of some of the guys I >used > >>>> to > >>>>> hang out with. I knew one that won a programming contest who wrote a > >>>>> program to display a naked woman with nothing more than Assembler and >a > >>>> text > >>>>> editor. As for machine language you can write it on your own if you > >> know > >>>>> enough. Unfortunately time has dulled my memory of useless interrupts > >>>>> because we have so much easier ways to do things now. I think I could > >>>>> probably get a command line app to run with nothing but a hex editor >but > >>>>> calling the GUI might be beyond me because you would have to do some > >>>> serious > >>>>> digging to get that to work and sometimes the information is just not > >>>>> available anymore. > >>>>> > >>>>> Ken > >>>>> > >>>>> > >>>>> Ken > >>>>> > >>>>> -----Original Message----- > >>>>> From: programmingblind-bounce@xxxxxxxxxxxxx > >>>>> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of >Christopher > >>>>> Coale > >>>>> Sent: Saturday, April 09, 2011 2:23 AM > >>>>> To: programmingblind@xxxxxxxxxxxxx > >>>>> Subject: Re: Searching for blind programmer to start a school for >blind > >>>>> programmers > >>>>> > >>>>> What? Have you ever read the x86 information sheets? Teaching someone > >>>>> assembly is a good way to teach them how a computer works -- having >them > >>>>> write programs in pure byte code (especially for x86) is both asinine > >>>>> and impractical. Maybe not so much for an extremely extremely simple > >>>>> virtual machine or basic processor, but complex instruction sets like > >>>>> x86 are flat-out beyond writing op-codes by hand. If you don't believe > >>>>> me, just take a poke at the NASM source code. ;) > >>>>> > >>>>> On 4/8/2011 6:47 PM, Ken Perry wrote: > >>>>>> I am not quite as old as you but I come from the same time zone. I >had > >>>> to > >>>>>> learn assembler to hack games on the Vic 20 and the commodore 64 and > >> the > >>>>> TI > >>>>>> but more than that when I joined the Air Force and took on >Electronics > >>>>>> Assembler made my life easier. Then later in life after I lost my >site > >>> I > >>>>>> took software engineering and had to burn chips and while we could >have > >>>>>> wrote stuff in C it was much easier to control the registers and >stuff > >>>>> with > >>>>>> ASM. If we used C we allot of the time had to use special assembler > >>>>>> keywords to get things to work quite right. If you look on the Fruit > >>>>> Basket > >>>>>> page I was also insane enough to write the fruit basket in Assembler > >> for > >>>>>> windows xp and it runs in vista. I am not sure if that runs in >Windows > >>> 7 > >>>>>> but I should revisit it and make sure it does. Lost knowledge is not >a > >>>>> good > >>>>>> thing. Assembler may not be a way I would write a project now days >but > >>>> if > >>>>>> you want to teach someone how your computers work there is only one > >>> thing > >>>>>> better. The one thing better is straight opt codes using a debugger > >> and > >>>>>> watching what is going on. Well you could also write straight binary > >>>>> files > >>>>>> like a good Fortran coder but who does that any more. That what I > >>> should > >>>>> do > >>>>>> is create the fruit basket with nothing but a hex editor. > >>>>>> > >>>>>> Ken > >>>>>> > >>>>>> > >>>>>> -----Original Message----- > >>>>>> From: programmingblind-bounce@xxxxxxxxxxxxx > >>>>>> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Bill Cox > >>>>>> Sent: Friday, April 08, 2011 11:40 AM > >>>>>> To: programmingblind@xxxxxxxxxxxxx > >>>>>> Subject: Re: Searching for blind programmer to start a school for >blind > >>>>>> programmers > >>>>>> > >>>>>> On Fri, Apr 8, 2011 at 11:16 AM, Littlefield, > >> Tyler<tyler@xxxxxxxxxxxxx> > >>>>>> wrote: > >>>>>>>> Assember? Really? You must be almost as old > >>>>>>>> as me! I can't even find people who care about speed or memory >usage > >>>>>>>> anymore. > >>>>>>> I love assembler. It's a great way to teach people what's going on > >>> under > >>>>>> the > >>>>>>> hood and make them think about what they do. Every time I see >someone > >>>>>>> reserve a 100k buffer just because, I cringe. :) > >>>>>> We must be from the same generation. I'm 47, and learned to program > >>>>>> in machine code on an 8080 based Intel board with a hex keypad and > >>>>>> some LEDs. It was a couple of years before I found out that people > >>>>>> programmed using assemblers, rather than entering hex by hand. > >>>>>> > >>>>>> I worry that the new generation's early experience with computers is > >>>>>> amazing games and technology so complex they could never >realistically > >>>>>> hope to understand it. What's the natural path now days for kids to > >>>>>> go from playing computer games to writing them? On the old Apple >IIs, > >>>>>> you just typed list instead of run, and there was all the code. > >>>>>> > >>>>>> Bill > >>>>>> __________ > >>>>>> View the list's information and change your settings at > >>>>>> //www.freelists.org/list/programmingblind > >>>>>> > >>>>>> __________ > >>>>>> View the list's information and change your settings at > >>>>>> //www.freelists.org/list/programmingblind > >>>>>> > >>>>> __________ > >>>>> View the list's information and change your settings at > >>>>> //www.freelists.org/list/programmingblind > >>>>> > >>>>> __________ > >>>>> View the list's information and change your settings at > >>>>> //www.freelists.org/list/programmingblind > >>>>> > >>>> __________ > >>>> View the list's information and change your settings at > >>>> //www.freelists.org/list/programmingblind > >>>> > >>>> __________ > >>>> View the list's information and change your settings at > >>>> //www.freelists.org/list/programmingblind > >>>> > >>> __________ > >>> View the list's information and change your settings at > >>> //www.freelists.org/list/programmingblind > >>> > >>> __________ > >>> View the list's information and change your settings at > >>> //www.freelists.org/list/programmingblind > >>> > >> __________ > >> View the list's information and change your settings at > >> //www.freelists.org/list/programmingblind > >> > >> __________ > >> View the list's information and change your settings at > >> //www.freelists.org/list/programmingblind > >> > >> __________ > >> View the list's information and change your settings at > >> //www.freelists.org/list/programmingblind > >> > > __________ > > View the list's information and change your settings at > > //www.freelists.org/list/programmingblind > > > > __________ > > View the list's information and change your settings at > > //www.freelists.org/list/programmingblind > > > >__________ >View the list's information and change your settings at >//www.freelists.org/list/programmingblind > >__________ >View the list's information and change your settings at >//www.freelists.org/list/programmingblind > >__________ >View the list's information and change your settings at >//www.freelists.org/list/programmingblind __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind