Baboon's Blog

Aller au contenu | Aller au menu | Aller à la recherche

jeudi, février 12 2009

Achevons la bête StarForce

Maintenant que nous avons un joli call fixer pour StarForce pourquoi ne pas faire un plugin pour ImpRec ?!

Il y a plusieurs obstacles avant d'arriver à un plugin fonctionnel et rapide et ce à cause du système de plugin ImpRec qui n'a pas été super bien pensé (enfin je trouve ..)

Lire la suite...

mercredi, février 4 2009

StarForce 4.70.X ou l'ami du poly

Salut les zouaves ;)

J'ai eu récemment l'occasion d'étudier un programme protégé par StarForce 4.70.X cette version de StarForce à l'air d'être conçue spécialement pour les logiciels contrairement a StarForce 3 qui lui visait surtout les jeux. Cette version donc est beaucoup moins robuste que celle utilisée pour les jeux, pas de drivers, pas de VM, pas de stolen bytes, pas de code redirigés MAIS une protection des imports pas mal foutue. J'exposerai donc dans ce post la technique que j'ai utilisée pour rebuild tout ca ...

Lire la suite...

mardi, novembre 25 2008

Le faux bug de l'an -4 avant la fin du monde -> pop [esp]

juste un mini post pour vous faire part de mon effarement face à une bizarerie intelienne

A votre avis qu'est censé faire pop [esp] ?

Vous allez me dire : "ba facile ca ajoute juste 4 à esp et pis voila rien n'est modifié en mémoire easy quoi"

EH BIEN NON BANDES DE MALHEUREUX !!!

Lire la suite...

vendredi, novembre 21 2008

Patte-PELU

Sali sali salut Mon dernier papier est disponible sur le site de la FAT (rubrique .data et .code). Etant un FATien il fallait bien que je produise mon article annuel, ces derniers temps je n'avais meme plus StarCraft pour compenser ma non-productivité :-/

Bref cet article est consacré à PELock et à la programmation d'un "unpacker" avec bee-lee, bonne lecture et si vous avez des questions : le forum de la FAT vous est ouvert ;)

samedi, novembre 15 2008

Bee-Lee

Bee-Lee est la librairie que j’ai développée à partir de la technique dont je vous ai parlé ici Cette librairie permet de debugger un processus sans utiliser d’APIs debug, sans utiliser d’interruptions (à part une à l’entry point pour prendre la main) et sans patcher le code (sauf KiUserExceptionDispatcher pour récupérer les exceptions).

La librairie permet de poser des break points (sans patcher le code ni utiliser les DRs), de faire du pas à pas, et de retourner dans le code après vos bidouilles. Vous avez accès aux registres et à l’ensemble du context de la thread.

Lire la suite...

vendredi, septembre 19 2008

Unpacker Obsidium

Obsidium est un packer relativement peu utilisé (je ne l'ai pas beaucoup croisé mais bon je ne suis pas non plus un zigouilleur d'applications en série ...) il est pourtant intéressant pour plusieurs raisons et relativement costaud.

Dans cet article j'expliquerai comment unpacker un programme protégé par ce packer, pour l'unpacké j'ai utilisé olly et le plugin HideDebugger, ODBGScript, mon plugin permettant d'injecter des DLLs dans le processus débuggé : IinjOlly, IDA et son systeme de script IDC, LordPE, ImpRec et GoAsm pour le dévelopement de mon call fixer ainsi qu'un petit script en python qui permet de transformer une source rippée avec IDA en source assemblable par GoAsm.

Lire la suite...

dimanche, août 31 2008

Nouvelle technique de debugg via émulation minimaliste

Les debuggers sont des outils indispensables pour reverser un programme et étudier une protection. Les développeurs de protections logicielles s'en sont bien rendus compte et il existe aujourd'hui une flopée de techniques permettant de détecter et de mettre à mal les debuggers ring3 et ce de façon générique (IsDebuggerPresent) ou ciblée (vulnérabilité de OllyDBG dans le traitement des chaines envoyées par OutputDebuggString). De plus les debugs APIs font très bien leur boulot mais elles sont assez lentes. Il existe bien des debuggers ring0 qui sont plus rapides et plus discret mais ils sont contraignants, peu pratiques (même avec l'arrivée de syser), et finalement il existe encore des façons génériques de les détecter et de les annihiler (mouhahahaha). A la vue de ce constat, les émulateurs semblent être de bonnes alternatives aux debuggers « classiques » mais ils sont dures a programmer et ne sont jamais fiables à 100% de plus il n'existe pas (à ma connaissance) d'émulateur publique qui soit fonctionnel et utilisable dans le cadre, par exemple, de l'étude d'une protection.

Il existe enfin des debuggers dit non-intrusifs comme Obsidian qui utilisent des 0xEBFE ou des int3 pour faire du step by step, Obsidian par exemple est injectée dans le processus cible et va placer un 0xEBFE juste après l'instruction courante, lancer le processus et le mettre en pause, le processus aura alors exécuté une instruction et bouclera indéfiniment sur la seconde, cette technique est plus rapide et plus discrète que l'utilisation des debugs APIs mais elle reste quand même intrusive, en effet Obsidian doit modifier le code de l'application pour pouvoir fonctionner, pour ce faire il doit donc modifier les droit de la page mémoire ou utiliser WriteProcessMemory, de plus un simple CRC peut la détecter enfin elle nécessite de lancer une thread supplémentaire dans le processus cible. Je vais détailler dans ce post une nouvelle technique permettant de faire du step by step dans un processus de façon discrète et efficace, cette technique n'est pas parfaite, elle a finalement elle aussi des inconvénients comme toutes les autres techniques présentées précédemment mais elle a aussi certains avantages.

Lire la suite...

vendredi, juin 13 2008

Vietcong : SecuROM v5 , triggers et hidden checks

Sali sali salut !

Après avoir gouté aux protections de jeux avec Diablo 2 LOD et SecuROM je restais un peu sur ma faim.

En effet Diablo 2 était moin dur qu'un asprotect light, juste des call [api] redirigés bref rien de très excitant meme si c'était marrant.

J'ai donc demandé à droite, à gauche qui connaissait un jeux protégé par SecuROM et qui utilise les triggers, il fallait aussi que le jeux ne soit pas trop récent avec du SecuROM v7.

uLysse_31 a eu la gentillesse de me upper une iso valide (comprendre : avec laquelle on puisse jouer au jeu) de Vietcong, un jeu sortit en avril 2003 qui contient des triggers (le jeu en lui même est assez simpa, il y a de la bonne musique et tout plein d'armes, par contre l'IA est à chier).

Apres mes exams (resultats dans une heure :P) je m'attaque donc à la bete ...

[EDIT] j'ai eu mon année \o/

Lire la suite...

mardi, juin 3 2008

Nibbles microblog

Je participe activement a l'aventure "Nibbles microblog", un blog communautaire qui rassemblera des idées , des bouts de codes et qui permettra de partager nos connaissances sans formalisme et sans devoir creer un blog par reverser.

Plus d'infos ICI et LA

Ce blog est ouvert à tous, y compris ceux qui ont leur propre blog

Je compte donc continuer à poster ici mais surtout mes gros projets, tout ce qui va etre bout de codes, idées qui ne "méritent" pas un gros post ici (et que je ne publiais pas) iront sur le microblog c'est donc gagnant-gagnant.

J'ai deja posté un petit truc sur un plugin pour olly que j'ai fait : HeeekHook qui permet de détecter des modifications en memoire du code des modules chargés.

N'hesitez pas à visiter ce blog et à y participer !

lundi, avril 14 2008

VVM Keygen-me

J'ai résolu le VVM Keygen-me de antofik (ICI) Il comporte 2VMs imbriquées, la première étant bien plus costaud que la deuxième.

Lire la suite...

samedi, mars 15 2008

No-CD Pour Diablo 2 LOD : Faites le vous meme !

Apres avoir initié un ami à Starcraft, il a voulu que je me mette à Diablo 2 - vous savez, le jeu où on zigouille sa souris .

Comme il y avais un momment que je voulais tater une protection de jeux videos je lui ai sauvagement taxé ses CDs pour en faire une copie valide afin de pouvoir faire un petit no-cd.

Lire la suite...

mercredi, février 6 2008

Loader pour Starcraft

Comme de mauvaises langues disent que je ne fouts plus rien, je poste mon petit loader pour Starcraft

Depuis la mise à jour 1.15.2 le CD de starcraft n'est plus nécessaire pour jouer : http://computergames.ro/en/downloads/viewitem/id/10036/name/starcraft-v1152-patch-for-windows.html

Donc finalement mon loader ne sert à rien mais bon, moi je l'utilise toujours, je l'aime bien :P

Lire la suite...

dimanche, décembre 30 2007

RIIINNNJJJLOCATOOOOOR !

Ca fait longtemps que je n'avais pas posté un petit truc ici !

Je sais que c'est à la mode de mettre son pitit n'article toutes les semaines histoire de fidéliser le lecteur mais bon ....

J'ai beaucoup de projets mais à long terme je n'ai donc strictement rien à poster ....

Tout ca pour dire que recemment pour une raisons X (une raison inconnue hein ! pas une raison pornographique !) j'ai eu besoin d'installer un petit serveur FTP sur ma becanne (vroum vroum)

Je demande donc quelques avis et je decide d'installer Serv-U , jusque là pas de probleme ...

Hélas à la fin de l'installation, pan ! , message d'erreur !

Un .ocx utilisé par le logiciel trouve intelligent de se loader a l'endroit où est censé se loger user32 resultat : ca marche pô !

La solution : reloger la dll !

...

Lire la suite...

lundi, août 13 2007

Kaiiinnjj 5 tools

J'ai resolu le K5 il y a maintenant un bout de temps et j'ai decidé (bande de petits veinards) de partager avec vous la suite d'outils que j'ai fais pour resoudre cette perle de crack-me.

Pas de tutos , pas trop d'explications quand a l'utilisation de ces outils , ils sont surtout là pour vous donner des idées , un point de depart pour que vous arriviez vous memes a faire vos propres outils ou tout simplement pour glaner des "trucs"

Lire la suite...

Yoouhouuu

Juste un petit post pour annoncer mon arrivée dans la FAT

Il leur manquait un joueur pour faire un tournois de SC et Street of Rage (et eventuellement un de belote)

;)

http://fat.next-touch.com/

lundi, août 6 2007

SEHPOINJ : SEH Powner - OINJ

Je bosse ces temps ci sur des packers qui ont la très mauvaise habitude d'utiliser des exceptions à tout va pour embéter le monde et effacer nos precieux DR (DebuggRegisters , ce sont eux qui nous permettent de poser des Hardwares BreakPoint).

Mattwood avait fait un plugin pour olly pour eviter que les DR soit ecrasés mais chez moi il ne fonctionnais pas en plus de lui manquer quelques fonctionnalitées.

Lire la suite...

lundi, juin 4 2007

IINJ

Ceux qui idlent sur IRC ont du remarquer le comportement bizarre de Kaine ces derniers jours ...

En effet il lui arrive de crier de façon compulsive "iiinnnnnjj".

IINJ n'est autre qu'un petit tool que j'ai bidouillé , permettant d'injecter du code dans un processus en cours et ce de façon relativement discrète.

Lire la suite...

Pompopopom

Alors voila ...

Premier Blog :p

Je compte vous presenter ici quelques petits truc sur mes avancées / tools / scripts / articles sur le RCE

Un grand merci a Thomas pour son aide et la redirection ;)

page 2 de 2 -