Neues Tutorial: API-Crypting

Posted by eddy14 - 03/03/08 at 04:03 pm

Ich hab heute ein neues Tutorial geschrieben (das Thema wollte ich ohne hin schonmal durcharbeiten). Es handelt sich um das Verschleiern von WinAPI Aufrufen, sodass viele Heuristische Scan-Methoden von Antivirus Programmen beim Suchen nach gewissen Mustern fehlschlagen.
Bin gerade fertig geworden, und bitte, gebt mir Kritik und Verbesserungsvorschläge, es ist sehr wahrscheinlich dass irgendein mehr oder weniger peinlicher Fehler im Tutorial ist :)

Das Tutorial wird im ersten EZine von Netplayazz auftauchen (Jaaa, Netplayazz ist wieder online :P )
Viel spaß beim lesen :)

API-Crypting Tutorial vom 03.03.2008

If you enjoyed this article please consider staying updated via RSS. Links to your own social media pages could be added here.

Meine Tutorials

Posted by eddy14 - 20/02/08 at 01:02 pm

Ich hol den Beitrag mal nach, dass nach dem Backup verloren gegangen ist.
Also, es sind zwar nicht viele, geschweige denn gute Tutorials, aber wäre doch schade wenn ich mir die ganze Arbeit angetan hätte nur damit die Tutorials irgendwo auf meiner Festplatte rumlungern.
Ich hab mal dafür eine extra Page auf dem Blog eingerichtet.
Ihr findet es hier.

If you enjoyed this article please consider staying updated via RSS. Links to your own social media pages could be added here.

Meine 2D Engine => EdJin

Posted by eddy14 - 15/02/08 at 08:02 am

Hey guys :P
Seitdem mein Praktikum zuende ist und ich wieder diese Woche viel Freizeit hatte, habe ich mich motiviert mein Traum von einer Spiele-Engine zu verwirklichen. Ich arbeite seit ca. 4 Tagen dran und habe erst heute schöne Fortschritte gemacht :)
Ich benutze dafür SDL und eventuell implementiere ich noch die Physik Engine “Box2D” mit hinein die ja unter der zlib Lizenz steht, was für mich so viel heißt wie: Kompatibel mit der GPL :)
Es hat leider noch keine klare Struktur, ich will aber trotzdem nicht “drauf-los-programmieren” wie ich es fast immer tue. Heute hatte ich z.B. ein paar Ideen um die Programmierung mit meiner Engine einfacher zu gestalten. Es sollte so wenig Code wie möglich brauchen :)
z.B. muss man keine FPS Regelung einbauen oder eine Schleife welches die Tastatur-Eingaben entgegen nimmt. Ersteres übernimmt die Engine bei dem Aufruf Game.finished() (welches gleichzeitig die Main-Loop ausmacht) und letzteres wird mit meinem Event-Handler bearbeitet. Man kann einem Objekt Events “attachen” und “detachen” welches automatisch beim Aufruf von Objekt.refresh() ausgeführt wird (welches gleichzeitig die Anzeige auf dem Bildschirm erneuert).
Der Code ist zurzeit nur ca. ~500 Zeilen groß und (wie ich finde) ziemlich übersichtlich mit schönen Kommentaren :D
So sieht z.B. meine derzeitige Main aus:

EdGame Game(SDL_INIT_EVERYTHING, 640, 480, 32, SDL_HWSURFACE|SDL_DOUBLEBUF, 40, “EdJin Test”);
EdImage testball(Game.screen,”testball.bmp”, 100, 100);
Uint8 *Keys;

int main(int argc, char *argv[])
{

//Attach events to this object:
testball.AttachEvent(KBD_UP, image_up);
testball.AttachEvent(KBD_DOWN, image_down);
testball.AttachEvent(KBD_RIGHT, image_right);
testball.AttachEvent(KBD_LEFT, image_left);

while(!Game.finished())
{
//Main-Loop starts here! :)

//Event-Loop (until all events are handled)
while(Game.GetEvent())
{
switch(Game.CurrentEvent.type)
{
case SDL_QUIT: // User or System wants to quit the Game
Game.finish();
exit(0);
break;
}
}

testball.refresh();
SDL_Flip(Game.screen);

}

return 0;
}

Per attach sag ich ihm dass ich den Event “KBD_UP” (welches für “Keyboard UP”, also die Pfeilhoch-Taste auf der Tastatur, steht) an dieses objekt binden möchte. Und immer wenn dieses Event auftritt (der User drückt auf diese Taste) dann wird die Funktion image_up aufgerufen (das ist ein Pointer auf die jeweilige Funktion).

void image_up(void)
{
if(testball.y > 10)
testball.y -= 10;
}

void image_down(void)
{
testball.y += 10;
}

void image_right(void)
{
testball.x += 10;
}

void image_left(void)
{
if(testball.x > 10)
testball.x -= 10;
}

So könnten diese Funktionen aussehen.
Das sieht doch ganz schick aus oder? :)

If you enjoyed this article please consider staying updated via RSS. Links to your own social media pages could be added here.

3dl.am ist…

Posted by eddy14 - 10/02/08 at 01:02 pm

…weg.
Viele Gerüchte, und Blog-Einträge spekulieren darüber was nun passiert ist. Ich bin nicht derjenige der alles wieder zusammenfassen möchte (seit GSIN bin ich kein News-Jäger mehr :P ) ich möchte nur auf das Gerücht mit dem IP-Logging eingehen, da ich ja auch damals am 3dl.am Script gearbeitet habe, bevor l3m0n die Arbeit wieder fortgeführt hat.
IP-Logs gabs nur, wenn man als Gast (!) ein Kommentar (!) verfasst hatte. Das aber auch nur, um Spam zu vermeiden. Nach einer kurzen Lösungssuche mit Darky, kamen wir zu Captchas und somit waren auch diese IP-Logs weg. Im ganzen Script waren also bis zum Ende meiner Arbeit keine IP-Log Funktionen implementiert.
Es war also keine Absicht von Darky und den restlichen Admins IPs zu loggen, sie waren immer strikt dagegen, sonst hätten sie nicht direkt zugestimmt alle Log-Funktionalitäten zu entfernen.
Ich kann aber nicht davon reden ob l3m0n (der Coder nach mir) während seiner weiteren Arbeit sowas eingebaut hat, aus welchen Gründen der Admins auch immer. Aber ich kann mir nicht vorstellen, dass es Logs gibt, und wenn doch, dann aus ganz anderen Gründen.
Irgendwie kann ich auch nicht glauben, dass das Script geklaut wurde. Darky hatte vor das ganze mit einer kommerziellen Engine zu verschlüsseln. Ich weiß nicht ob es schon dazu kam…
Naja, abwarten und Tee trinken ….

If you enjoyed this article please consider staying updated via RSS. Links to your own social media pages could be added here.

WTF?

Posted by eddy14 - 01/02/08 at 05:02 am

…gestern war wieder mein Anbieter down. Dachte der Webserver hätte mal wieder seine Tage … heute schau ich auf mein Blog, es ist online. “Jeah!” denke ich mir im ersten moment, und seh dann, dass mein aktuellster Beitrag “Meine Tutorials” fehlt. Und die 2 Kommentare im unteren Posting fehlen auch (verdammt, da waren so viele Infos von Kugelfisch -.-). Der Anbieter hatte anscheinend Datenbank Probleme und hat dann ein Backup aufgespielt. ARGGGG.

Naja, nächstes mal mach _ich_ tägliche Backups! ^^
Mein Beitrag mit den Tutorials hol ich später nochmal nach.

If you enjoyed this article please consider staying updated via RSS. Links to your own social media pages could be added here.