logo Homepage
+  NewbieContest
Username:
Password:
  Voir les messages
Pages: [1] 2 3 ... 7
1  Général / Sondage pour le site / Re : Nouveau système de chat ? le: 12 Novembre 2017 à 19:29:39
Salut,

J'ai voté IRC parce que tout le monde de la sécu/chall fait de l'IRC.
Quand je chall je lance IRC, les IRCs. Faire passer NC sur autre chose le mettrait à part en ce qui me concerne.
Et puis on sait ce qui sort et on sait ce qui rentre. Si on veut on rajoute même facilement un peu de soupe pour les discussions curstoms.
Le vocal je n'en vois pas l'utilité dans le contexte (et c'est super vite un énorme n'importe quoi sans modération constante).
Quant au backlog, hors période d'activité personnelle, franchement qui le lit sur NC hormis pour grepper dedans de façon très (très) rare ?

Bref, je suivrai, mais je reste pro IRC sur ce coup.

++
2  Challenges / Aide Crackme / Re : Crackme - DarkBasic le: 23 Août 2017 à 21:46:28
Salut M. Drake,

Elle en aura fait suer plus d'un cette épreuve.

Il faut d'abord te demander comment l'épreuve a été produite : avec quoi (pour ça l'indice est ... gros), et quel est le principe de fonctionnement de ce quoi.
Ensuite il te faudra te demander comment est-ce que le concept qui est derrière se reverse (indice: demande toi comment est-ce que ça se programmerait 'naïvement').

Bon courage.

++

Ps: Editez-moi si vous considérez que ça spoile trop.
3  News / News du site / Re : Newbie Contact #5 le: 21 Juillet 2017 à 19:52:14
Salut,

Bonne nouvelle ça.
J'en serai.

++
4  Général / Defouloir / Re : Challenge ANSSI ? le: 21 Juillet 2017 à 19:44:28
Salut,

Moi je pense aussi que c'est ça, en tous cas c'est la première chose que j'y avais vu en en discutant avec l'un d'entre vous.
Presque sans aucun doute cause 42 -> Le guide du voyageur galactique -> La serviette (et donc son porte serviette).
Rien à voir avec l'hygiène donc selon moi. 

++
5  Challenges / Aide Programmation / Re : Prog - IrcCaesar le: 01 Juillet 2017 à 17:33:48
Salut,

Citation
2 secondes, c'est un peu short quand on a un ping > 600ms
[...]
un caesar, même avec le langage le plus pourri, ça prend moins d'une miliseconde
Bon bah ça te laisse toujours le temps de le résoudre 800 fois alors.
Où est le problème ?

++
6  News / News du site / Re : Vers la NDH et au delà ! le: 26 Mai 2017 à 14:58:20
Salut,

Vla, ils se foutent pas de notre gueule les allemands : <INCEPTION POUR L'ORGA NDH>

Un simple tuyau d'arrosage des familles devrait s'avérer suffisant et moins onéreux ...

++
7  News / News du site / Re : Vers la NDH et au delà ! le: 24 Mai 2017 à 19:37:33
Salut,

Ca va être sympa.

Pour ceux qui s'y rendraient et n'oseraient pas venir nous voir : n'hésitez pas !
On ne mord pas et vous profiterez bien plus de l'évènement en groupe que seul dans votre coin croyez moi.

Citation de: pixis
Que la bière coule à flot
[rage]
Alors ça par contre y'a intérêt !

Trop une arnaque le couak de l'année dernière qui nous a fait tourner à la paille fermentée.

C'est pas compliqué : ON VEUT SE METTRE SAOULS !!!
[/rage]

++
8  News / News du site / Re : Newbie Contact #4 le: 13 Mai 2017 à 00:35:43
Salut,

C'était super sympa.
J'aurais voulu passer un peu plus de temps avec chacun d'entre vous mais le temps a fait défaut.
Ca n'est que partie remise.

Pour tous ceux qui ont hésité à venir aujourd'hui : on vous attend sans faute la prochaine fois hein !
N'ayez pas peur, c'est principalement une soirée d'ivrognes normale.

++
9  News / News du site / Re : Newbie Contact #4 le: 09 Mai 2017 à 20:55:24
Salut,

Bon les gars va falloir faire avec moi.

Par contre je passerai directement après le boulot donc le temps du trajet je vous rejoindrai aux alentours de 19h30 / 20h.

++
10  Challenges / Aide Logique / Re : Logique - Picross le: 07 Avril 2017 à 17:57:36
Salut,

Pour sauvegarder votre progression d'une grille afin de pouvoir y revenir plus tard il vous suffit de cliquer sur le bouton "Vérifier" puis de sauvegarder quelque part le nouvel url disponible dans la barre d'adresse (dans votre bloc note de l'épreuve par exemple).

Ex: https://www.newbiecontest.org/epreuves/logique/the_lsd-picross.php?ans=0011111100011111111011001100111100110011111111111110111111011101111011111022011101112211100011111100

Merci à naliamah pour cette astuce.

++
11  Challenges / Aide Crackme / Re : Crackme - Spécial CommComm le: 08 Janvier 2017 à 19:24:55
Salut,

Citation de: DaLynX
Bon, alors c'est tout bête, mais y'a une inexactitude dans le code qui fait qu'on peut trouver beaucoup de serials validant mais qui ne sont pas celui accepté sur le site.
Conseil donc à ceux qui pourraient se trouver dans le même cas que moi : prenez le cas le plus restrictif possible.
Je viens de rejeter un coup d'oeil à ce crackme suite à la remarque d'un membre m'ayant fait part du fait qu'il avait un serial validant sur le binaire mais pas sur le site.
Effectivement il y a une ambiguité.

Comme je suis persuadé que le but de Kowasu/SoS n'était pas de faire perdre inutilement du temps aux challengers, je vous propose le fix suivant (version unpackée) :

Code:
VA:4046BE -> 'add eax, ebx' devient 'or eax, ebx'
OFFSET:46BE -> {0x03,0xC3} devient {0x09,0xD8}

Modérez-moi si nécessaire, mais vraiment mon avis est que dans le cas présent c'est décourageant pour rien.

++
12  Challenges / Aide Crackme / Re : Crackme - Mangez des pommes le: 31 Décembre 2016 à 12:11:11
Salut,

Citation de: Pech
J'ai l'impression qu'il y a un integer overflow dans le crackme mais comme j'ai pas de Mac je suis pas à même de vérifier en l'exécutant
Vous pourriez me le confirmer ?
Je n'ai pas ce qu'il faut pour vérifier sous la main mais effectivement d'après mes notes il peut y avoir overflow sur la dernière itération dans certains cas.
Je crois que personne ne s'en est vraiment soucié, il suffit d'en tenir compte dans ton approche (sachant qu'il y en a deux de possibles, l'autre n'étant pas impactée par ce 'soucis').

++
13  Programmation / Langages compilés / Re : Pourquoi le programme fonctionne ? le: 15 Décembre 2016 à 02:03:21
Salut,

De rien
Bonne continuation.

++
14  Programmation / Langages compilés / Re : Pourquoi le programme fonctionne ? le: 14 Décembre 2016 à 20:26:01
Salut,

Citation de: Creaprog
Comment il a deviner l'adresse au pif ?
- '*pUser' est la valeur pointée, 'pUser' est le pointeur. Go cours C sur les pointeurs (en fait je crois que c'est ça ton problème à la base).
- "toto" en hexa c'est "\x74\x6F\x74\x6F" (+ "\x00" final). Inversé en low-endian. Go cours C sur les chaînes null terminated + cours d'architecture.

++
15  Programmation / Langages compilés / Re : Pourquoi le programme fonctionne ? le: 13 Décembre 2016 à 21:07:02
Re,

Dac, ma réponse est correcte pour le code cité dans le post original, mais je vais tacher d'énumérer les autres différents cas de figure pour clarifier.



Le code suivant (cas 1) :

Code:
char *user;

void foo()
{
    user = "toto";
    puts(user);
}

équivaut à :

Code:
static char _totoString[4+1] = "toto";   // 8 en réalité pour alignement, dans un TAS (section datas INITIALISEES du binaire loadé), scope GLOBAL et lifetime GLOBAL, initialisé au LOADTIME
static char *user;   // pointeur donc 4 ou 8 selon si 32 ou 64 bits, dans un TAS (section datas NON INITIALISEES du binaire loadé), scope GLOBAL et lifetime GLOBAL, initialisé au RUNTIME

void foo()
{
    user = &_totoString[0];   // RUNTIME
    puts(user);
}



Le code suivant (cas 2) :

Code:
char *user = "toto";

void foo()
{
    puts(user);
}

équivaut à :

Code:
static char user[4+1] = "toto";   // 8 en réalité pour alignement, dans un TAS (section datas INITIALISEES du binaire loadé), scope GLOBAL et lifetime GLOBAL, initialisé au LOADTIME

void foo()
{
    puts(user);
}



Le code suivant (cas 3) :

Code:
void foo()
{
    char user[4+1] = "toto";
    puts(user);
}

équivaut à (Edit2: en 32 bits, si la version 64 bits vous intéresse faites le moi savoir) :

Code:
void foo()
{
    char user[4+1];   // 8 en réalité pour alignement, dans la PILE, scope LOCAL et lifetime LOCAL, initialisé au RUNTIME
    register unsigned int *pUser;   // pointeur donc 4 ou 8 selon si 32 ou 64 bits, dans un REGISTRE, scope LOCAL et lifetime LOCAL, initialisé au RUNTIME

    pUser = (unsigned int *)&user[0];   // RUNTIME
    *pUser = 0x6F746F74;   // dans le cas d'une architecture low-endian
    pUser++;   // arithmétique pointeurs donc +4 ici en 32 bits
    *pUser = 0;   // null terminated

    puts(user);
}

MAIS pourra si la chaîne est trop longue et selon l'optimisation être traduit vers justement le cas 0 de ma réponse initiale !

C'est ce cas qui est ambigü.



Le code suivant (cas 4) :

Code:
char user[4+1];

void foo()
{
    user = "toto";
    puts(user);
}

et le code suivant (cas 5) :

Code:
void foo()
{
    char user[4+1];
    user = "toto";
    puts(user);
}

sont incorrects. Il faudra employer une méthode/fonction de copie, ou bien le faire manuellement.



Et user[] sera interprété par le compilateur comme *user dans le cadre de ce qui nous intéresse ici.

Edit1: On m'a demandé de vérifier sous gcc, et donc en fait user[] :
 - sous visual se comporte comme le cas 0 de ma réponse initiale (*user, conforme)
 - sous gcc/mingw se comporte comme le cas 3 de cette réponse ci (user[n_auto], non conforme, et donc ambigu aussi)



Arf, ça m'apprendra à vouloir répondre en 5 minutes quand c'est merdeux comme ça.

++
Pages: [1] 2 3 ... 7