howtothings.co.uk
Who can code? - Printable Version

+- howtothings.co.uk (https://www.howtothings.co.uk)
+-- Forum: Computing (https://www.howtothings.co.uk/forumdisplay.php?fid=4)
+--- Forum: Programming Support, Graphic Design and Tutorials (https://www.howtothings.co.uk/forumdisplay.php?fid=14)
+--- Thread: Who can code? (/showthread.php?tid=163)

Pages: 1 2 3


RE: Who can code? - bigsharn - 14-12-2010

(14-12-2010, 06:30 AM)Pack3t SynAck3r Wrote: Programming is an art and a science. It requires, knowledge, logic and creativity.

It also takes a lot of patience, which is what did me in at the end of it


RE: Who can code? - Pack3t SynAck3r - 14-12-2010

(14-12-2010, 08:01 AM)latch Wrote: Indecently, I have some c code I wrote that I'd like you to look at because it acting wonky and I have not yet been able to find a solution. I got irritated and stepped back from it for a while. It is simple enough for me not to suffer that thing that we do where we can't, for the life of us, understand our own code after being away from it for too long. Heh, do you know what I'm typing about?
Send it on over and give me a brief synopsis on what you are trying to accomplish and what your problem is. I would be more than happy to take a look at it. As far as the scratching your head at code that you have stepped away from....indeed. I have about 30 half written programs that on a few of them I forget what I was trying to accomplish at all. An example of one I remember but the method I was using is a little cloudy
Code:
void InstallRegistryHooks (void)  
{  
    __asm  
    {  
        push    eax  
        mov     eax, CR0  
        and     eax, 0FFFEFFFFh  
        mov     CR0, eax  
        pop     eax  
    }  
  
    Real_ZwCreateKey = (T_ZwCreateKey) InterlockedExchange((PLONG) &SYSTEMSERVICE(ZwCreateKey),  
                                                        (LONG)Hook_ZwCreateKey);  
  
  
    Real_ZwOpenKey = (T_ZwOpenKey) InterlockedExchange((PLONG) &SYSTEMSERVICE(ZwOpenKey),  
                                                        (LONG)Hook_ZwOpenKey);  
  
  
    Real_ZwEnumerateKey = (T_ZwEnumerateKey) InterlockedExchange((PLONG) &SYSTEMSERVICE(ZwEnumerateKey),  
                                                        (LONG)Hook_ZwEnumerateKey);  
  
  
    __asm  
    {  
        push    eax  
        mov     eax, CR0  
        or      eax, NOT 0FFFEFFFFh  
        mov     CR0, eax  
        pop     eax  
    }  
    return ;  
}  
  
  
/*  
* Remove the hook  
*/  
void RemoveRegistryHooks (void)  
{  
    __asm  
    {  
        push    eax  
        mov     eax, CR0  
        and     eax, 0FFFEFFFFh  
        mov     CR0, eax  
        pop     eax  
    }  
    InterlockedExchange( (PLONG) &SYSTEMSERVICE(ZwCreateKey), (LONG) Real_ZwCreateKey);  
    InterlockedExchange( (PLONG) &SYSTEMSERVICE(ZwOpenKey), (LONG) Real_ZwOpenKey);                
    InterlockedExchange( (PLONG) &SYSTEMSERVICE(ZwEnumerateKey), (LONG) Real_ZwEnumerateKey);  
    __asm  
    {  
        push    eax  
        mov     eax, CR0  
        or      eax, NOT 0FFFEFFFFh  
        mov     CR0, eax  
        pop     eax  
    }  
}
Now mind you this is only a snippet but it is someone difficult to go and look at it when I started it three years ago. The purpose of the code is to create null embedded registry keys that use NativeAPI and unicode text as opposed to the WINAPI and ASCII text. The WinAPI can only read ascii and so if you create a registry key with unicode it is impossible to read or edit it with any program that was built with the WinAPI like regedit, or pretty much any a/v product that is in existence. The ASM I put in is directly correlated from info retrieved while debugging a virtual machine so I could view memory output in real time. Problem is I lost the logs from my debugger in a HDD crash and so I never was able to finish. Besides that train of thought has long left the station. If I ever feel like rebuilding the bochs virtual machine with all the handles I had instituted perhaps I will finish, although it is more likely I would start from scratch. It was just something I was doing for fun anyway. In all actuality the program is more a weapon of evil than good, but I SUPPOSE it could be used to embed restricted security policies as Mark had been posting about recently.


RE: Who can code? - Mark - 14-12-2010

(14-12-2010, 12:40 PM)bigsharn Wrote: It also takes a lot of patience, which is what did me in at the end of it

It also takes a lot of patience, which is what did me in at the start of it

Pack3t SynAck3r Wrote:I dropped out of college when I got a job offer from the government for a large sum of money when I was 20. I caught attention when I was younger for a few "creative" programs I had written and they decided to put me to work because of it. Leaving MIT was not easy

Awesome indeed, picking up a job with the government. I don't suppose you can expose any information revolving around what it involved and the particular line of work. I've dreamt about working for the government but that's probably just me watching too many "hacker" films.

edit: this has been bugging me now, i cannot do it in Python. laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatch!


RE: Who can code? - Pack3t SynAck3r - 15-12-2010

(14-12-2010, 10:27 PM)Mark Wrote: Awesome indeed, picking up a job with the government. I don't suppose you can expose any information revolving around what it involved and the particular line of work. I've dreamt about working for the government but that's probably just me watching too many "hacker" films.
I was working with a group of independent contractors doing covert corporate security audits. There was a core group of five of us, I was by far the youngest. The eldest was 54. Any company that put a bid on certain types of Federal government contracts was subject to an audit. The four others and myself were the ones who did the auditing. Our job was basically to loot the place of all information we could get our hands on. We had to analyze and in turn compromise all forms of the security that was in place. This includes network and physical security. If you are interested I can explain some of the methods that we used, I can tell you the how, but not the specific what or where.




RE: Who can code? - Mark - 15-12-2010

Quote:If you are interested I can explain some of the methods that we used, I can tell you the how, but not the specific what or where.

I am highly interested.


RE: Who can code? - Drumm - 15-12-2010

I am also interested in such information. Perhaps a Pack3t Tutorial is in order :tongue


RE: Who can code? - latch - 15-12-2010

(14-12-2010, 10:27 PM)Mark Wrote:
(14-12-2010, 12:40 PM)bigsharn Wrote: It also takes a lot of patience, which is what did me in at the end of it

It also takes a lot of patience, which is what did me in at the start of it

Pack3t SynAck3r Wrote:I dropped out of college when I got a job offer from the government for a large sum of money when I was 20. I caught attention when I was younger for a few "creative" programs I had written and they decided to put me to work because of it. Leaving MIT was not easy

Awesome indeed, picking up a job with the government. I don't suppose you can expose any information revolving around what it involved and the particular line of work. I've dreamt about working for the government but that's probably just me watching too many "hacker" films.

edit: this has been bugging me now, i cannot do it in Python. laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatch!

Wait. Cannot do what in Python? This exercise? Just do it in psuedo code- the logic is the important thing. The logic can be translated to correct syntax of any procedural language.


RE: Who can code? - Lewis_ - 17-05-2011

Code:
for (int i = 1; i < 101; i++)
            {
                if (i % 5 == 0 && i % 3 == 0)
                    Console.WriteLine("FizzBuzz");

                else if (i % 3 == 0)
                    Console.WriteLine("Fizz");

                else if (i % 5 == 0)
                    Console.WriteLine("Buzz");

                else
                    Console.WriteLine(i);
            }

            Console.ReadLine();
        }