Gå til innhold

aC

Medlemmer
  • Innlegg

    228
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av aC

  1. Det er i mange tilfeller har man ikke har mulighet til å utføre javakode på en enkelt maskin hvor man ønsker å lese ting, f.eks din egen applikasjon ikke har mulighet.

     

    Jeg mener at du faktisk lærer ekstremt mye mer av å faktisk lese minnet fra en maskin. Du får en innføring i hvordan DRAM er organisert i både userland og kernelland. Noe som er å jobbe direkte mot/med hardware, mye istedet for å prøve sekundære løsninger som skjermskraping. (Som kanskje er effektivt der og da), men aldri på sammen måte like lærerikt (i forhold til den kjennskap alle som programmerer burde kjenne til: Minnet, CPU, ALU, seek-time og gen. hardware), men igjen kanskje lærerikt med tanke på at man lærer gode algoritmer for gjennkjenning av mønstre.

     

    Uansett ville jeg tatt meg en tur innom

    rootkit.com og

    gamedeception.net

    For mange bra tutorials (ikke bare for spill-juksing, men for alt mulig manipulering av minnet og hardware)

  2. Når man starter å progge er det i alle fall to ting å tenke på,

     

    1. Er dette ditt første språk, altså er det dette språket du skal lære å programmere med?

     

    2. Er dette bare et nytt språk å lære seg?

     

    Hvis 1, så har man et annet utgangspunkt. Man er nødt til å sette seg ned å studere teori og struktur.

     

    Hvis 2, Så er det viktigste å bli komfortabel med språket, personlig synes jeg dette gjøres best å progge noe enkelt, noe jeg har gjort før. En parser, en input leser, manipuler minnet ... you name it. Du kan mye mulig lese om all mulig teori om et språk, men du kjenner ikke et språk før du snakker det. Og du kan ikke snakke det ved å lese en bok, bruk boken som refferanseverktøy når sitter fast.

     

    Personlig: AT&T-syntaks er horribel.

  3. første søket på google gav meg dette

     

    PS. Credits for denne koden er gitt i toppen, jeg fant dette på:

    http://www.devdaily.com/java/edu/pj/pj010016/pj010016.shtml

     

    // Copyright 1998 DevDaily Interactive, Inc.  All Rights Reserved.
    
    import java.io.*;
    
    public class RunCommand {
    
    public static void main(String args[]) {
    
    	String s = null;
    
    	try {
    
    	// run the Unix "iexplore.exe" command
    		// Her vil du kanskje ha f.eks
    		// String fullPath = "C:\full_path_to_program\some_program_or_command.exe"
    		// Jeg har ikke testet dette selv og husker ikke om du må escape bak-slaskene
    
    		Process p = Runtime.getRuntime().exec("iexplore.exe");
    
    		BufferedReader stdInput = new BufferedReader(new 
    			 InputStreamReader(p.getInputStream()));
    
    		BufferedReader stdError = new BufferedReader(new 
    			 InputStreamReader(p.getErrorStream()));
    
    		// read the output from the command
    
    		System.out.println("Here is the standard output of the command:\n");
    		while ((s = stdInput.readLine()) != null) {
    			System.out.println(s);
    		}
    
    		// read any errors from the attempted command
    
    		System.out.println("Here is the standard error of the command (if any):\n");
    		while ((s = stdError.readLine()) != null) {
    			System.out.println(s);
    		}
    
    		System.exit(0);
    	}
    	catch (IOException e) {
    		System.out.println("exception happened - here's what I know: ");
    		e.printStackTrace();
    		System.exit(-1);
    	}
    }
    }

  4. Vel, strengt tatt (etter hva jeg vet) er ikke dette enkelt i java. Hvis jeg har forstått alt riktig skal du lese et tekstfelt fra et program som allerede er eksekvert? I så fall så ønsker du ikke lenger å lese fra et tekstfelt i et eller annet program, men du ønsker å lese det spesifikke minneområdet hvor strengen lagres i minnet for å så å lese ... ja minnet. Og ettersom java kjører på java virtual machine så vil jeg tro at det er ganske vrient (sikkert ikke umulig) å gjøre.

     

    Du trenger å disasemble den binære filen (programmet) også se hvor funksjonen som lagrer strengen i minnet bli kalt. Dette kan gjøres med IDA pro eller Olly, så trenger du å lese minnet fra dette stedet i minnet etter funksjonen er blitt kalt. Slik jeg ser det nå er du nødt til å bruke JNI (java native interface) for å få dette til ettersom du trenger oversikt over hva som blir kjørt av userspace prosesser og minnet der, det kan også være at minnet ikke er på samme sted på stacken for hver gang.

     

    Hvis du skal hooke en funksjon så har du mere lykke i C / C++ (eller asm) avdelingen. :p

  5. finn ut om du har lastet ned jre eller jdk. jre har ikke javac.exe (cimpilern) bare java virtual machine og noen hjelpe programmer. Etter hva jeg husker ligger dette et sted c:\program files\java\jdk-xxx eller noe lignende.

     

    Hvis du har development versjonen og du ikke får skrevet javac i kommandolinje modus er du nødt til å legge til dette i classpath på brukeren din. Se: http://java.sun.com/j2se/1.3/docs/tooldocs.../classpath.html

     

    i siste fall kan du spesifisere hele path'en til javac.exe typisk

    c:\program files\java\jdk-xxx\javac.exe MittProgram.java

  6. Jeg så posten deres den dagen den ble postet og spørsmålet deres fikk meg til å undre litt på det samme, "Kjenner jeg til noen form for p2p teknologi bortsett fra den teknologien vi alle er kjent med, og hvilken av denne teknologien har open-source klienter å bruke som eksempler"

     

    Svaret mitt er vel egentlig nei, jeg kjenner ingen enkel løsning der. Jeg ser at source-forge gir meg endel resultater, men ingen som jeg er kjent med. Etter hva jeg forstår så er ikke poenget med oppgaven nettverksbiten for ellers ville dere vel lagd deres egen protokoll?

     

    Men hvis protokollen ikke skal være så meget avansert er det kanskje mere lønnsomt å satse på å lage en egen istedet for å bruke tid på å sette seg inn i en protokoll dere ikke kjenner. Eller kanskje, bruk ftp protokollen som eksempel men endre den til p2p. Fordelen med ftp er at den er såre simpel, mens de fleste andre kjente protokoller som msn og lignende bruker desentraliserte servere og er litt tricky å sette seg inn i.

     

    http://en.wikipedia.org/wiki/Peer-to-peer

    på midten av siden vil dere finne en liste over kjente protokoller og er

    det en liste over kjente klienter som bruker disse protokollene.

  7. Hahaha. Jeg er ikke sikker på hvorfor, men _alle_ som enten har lyst til å drive med hacking, cracking, lage spambots, generelt alle mulige ufinheter ender opp i c++ forumet. Jeg mener, ja jeg er kjempe glad for det (ettersom jeg er mest aktiv i java og linux forumet). Men det finnes så utrolige mange andre språk disse tingene så enkelt og greit og rask kan gjøres i stedet for å lage sin egen HTTP klasse for å håndtere http requests. Med mindre du faktisk har satt deg et mål om at du skal lære c++ og RFC 2616 (eller på noen annen måte noe avhengiger av at koden din må kjøres native) så ville jeg tatt en titt på noen skripte språk som f.eks python,ruby,lisp

     

    import gravity
    
    fl = gravity.fly()
    
    fl.flyNow()

  8. Har selv ikke drevet spesielt mye med GUI, men har en generell ide om hvordan det gjøres. Jeg har jo da en stund hatt lyst til å lage enkle spill ved hjelp av Java og eksempelvis Swing. Forøvrig så ønsker jeg ikke å hoppe ut i det før jeg har kartlagt litt bedre hvordan jeg bør gå frem for å godt håndtere Sprites, og hvordan jeg kan sette opp komponenter til å tegne seg selv på en god måte.

     

    Prøvde en stund å Google sprites, men fant da ofte overkompliserte eksempler som var implementert i ferdige spill, når jeg bare ønsker å ha ett utgangspunkt med det aller mest nødvendige.

     

    Jeg er selv mest vandt til å bare ha en overflate (typisk JPanel, evt en extension av det) og da adde komponenter til denne overflaten, men er usikker på hvordan dette skal håndteres når komponenter senere skal ha realtime movement, oppstå og forsvinne fortløpende, og komme i form av ulike former og ImageIcon. Det blir dumt å la overflaten selv håndtere all tegning av disse innad i sine ulike tegne-metoder (paint).

     

    Noen som kan komme med noen grunnleggende tips her? Hvordan bør jeg sette opp en generell Sprite klasse, og bruke den i sammenheng med oppførsel til ett objekt på en overflate?

     

     

    Har selv hatt lyst til det samme over lengre tid, og brukte endel tid på kartlegge fremgangsmåter.

    Det beste jeg kom frem til var bruk av 3.parts spill-biblotek f.eks http://slick.cokeandcode.com/ de har etter hva jeg husker en grei wiki med noen eksempler pluss full api dokumentasjon. Det finnes også flere andre 3.parts bibloteker som er verdt å nevne, men når du nevner sprites regner jeg med at det er snakk om 2d og ikke noe full 3d med f.eks opengl.

     

    Dette var kanskje ikke helt fullverdig svar og det finnes flere andre på java forumet som har laget noen spill som sikkert kan poste mer, men dette er i allefall en pekepinn over hvor det er verdt å starte å lese.

     

    Mvh Axel

  9. Eller bruk 127.0.0.1 (som igjen også er localhost gitt som en ip)

     

    I språk som f.eks c er det forskjell på hostnames (som er nødt til å bli resolved) og ip

    Nå er det en stund siden jeg brukte sockets i java sist, men etter et lite oppslag i api referansen til Sun java finner vi følgende signaturer:

     

    Socket(String host, int port)

    Creates a stream socket and connects it to the specified port number on the named host.

    og

    Socket(InetAddress address, int port)

    Creates a stream socket and connects it to the specified port number at the specified IP address.

     

    Dette forteller oss at både et hostname i form av string samt en ip adresse kan brukes.

    Hvis signaturen din er den øverste med hostname som string, ønsker du sikkert å bruke "localhost" som hostname, mens hvis signaturen din er den nederste ønsker du å bruke 127.0.0.1 som ip (den er også localhost)

  10. Når jeg programmerer i vim med norsk tastatur er det en smerte å skrive {[]} i forhold til hvor de er når en bruker us tastatur eller feks happy hacking keyboard. Er det en måte å bruke us layout kun i vim uten å måtte bytte til us i x? (Kjekt med æøå ellers).

    Har prøvd å mappe om enkeltbokstaver med ":map å [" f.eks, men "å" er tydeligvis ikke rette måten å angi denne tasten på.

     

    Jeg prøvde å finne noe imformasjon om det, men eneste jeg fant var å mappe hver tast om til noe annet. Så evt er du nødt til å finne mer informasjon om hva de norske tastene kalles :(

×
×
  • Opprett ny...