Programme de dingue en C

Discussion à propos de tout ce qui n'entre pas dans le cadre des autres forums.
[ce forum est modéré par les modérateurs globaux du site]
Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.

Programme de dingue en C

Messagepar François D. » Samedi 02 Janvier 2010, 09:44

Comme promis en catégorie LaTeX, voici :

Code: Tout sélectionner
#include <stdio.h>

main(t,_,a)
char *a;
{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
)&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_,
t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\
+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\
l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
:t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\
+1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \
i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}


:crazy: :scared: :mrgreen:
Dernière édition par François D. le Samedi 02 Janvier 2010, 10:04, édité 1 fois.
François D.
Téra-utilisateur
 
Messages: 1370
Inscription: Dimanche 30 Juillet 2006, 09:04
Localisation: Alsace
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Programme de dingue en C

Messagepar Arnaud » Samedi 02 Janvier 2010, 09:49

J'ai un peu la flemme : ça fait quoi ?
Arnaud

Un peu d'info - Pyromaths
LaTeX - Exemples de formules LaTeX

Pas d'aide en MP (non plus)
Arnaud
Modérateur
 
Messages: 7115
Inscription: Lundi 28 Août 2006, 12:18
Localisation: Allemagne
Statut actuel: Actif et salarié | Enseignant

Re: Programme de dingue en C

Messagepar François D. » Samedi 02 Janvier 2010, 10:00

Je viens de revérifier : chez moi, ça compile net, sans même un warning de gcc !

Ce que ça fait ? Pour ne pas gâcher le plaisir des autres, je te dis ça en MP ;) .
Dernière édition par François D. le Mardi 05 Janvier 2010, 17:39, édité 1 fois.
François D.
Téra-utilisateur
 
Messages: 1370
Inscription: Dimanche 30 Juillet 2006, 09:04
Localisation: Alsace
Statut actuel: Actif et salarié | Enseignant

Re: Programme de dingue en C

Messagepar Arnaud » Samedi 02 Janvier 2010, 10:26

Ha ouais, quand même.
C'est pas mal récursif, et je ne comprends pas toutes les interventions de caractères, je ne m'y connais pas trop dans les finesses du c.
Arnaud

Un peu d'info - Pyromaths
LaTeX - Exemples de formules LaTeX

Pas d'aide en MP (non plus)
Arnaud
Modérateur
 
Messages: 7115
Inscription: Lundi 28 Août 2006, 12:18
Localisation: Allemagne
Statut actuel: Actif et salarié | Enseignant

Re: Programme de dingue en C

Messagepar Framboise » Dimanche 03 Janvier 2010, 09:13

Amusant.
Un tout petit peu mathématique.

Pour info, il compile sans problème avec TurboC que l'on trouve en abandonware facilement.
Je ne dirais pas ce qu'il fait, je laisse la surprise.
J'ai le virus des sciences, ça se soigne ?
Framboise
Téra-utilisateur
 
Messages: 1154
Inscription: Lundi 21 Mai 2007, 12:57
Localisation: Dordogne
Statut actuel: Post-bac | Doctorat

Re: Programme de dingue en C

Messagepar François D. » Mercredi 06 Janvier 2010, 15:52

En discutant de ce programme avec un collègue ce matin, j'ai fini par me demander qui pouvait être à la fois suffisamment compétent et pervers pour pondre une ignominie pareille :mrgreen: ...
M'est alors venue l'idée suivante : il pourrait s'agir d'un programme initialement écrit de manière classique et, toutes proportion gardées :mrgreen:, lisible, en C (voire même peut-être dans un autre langage compilé, finalement), compilé pour obtenir un exécutable qui a lui été décompilé par après ce « source » C si alléchant.
François D.
Téra-utilisateur
 
Messages: 1370
Inscription: Dimanche 30 Juillet 2006, 09:04
Localisation: Alsace
Statut actuel: Actif et salarié | Enseignant

Re: Programme de dingue en C

Messagepar Framboise » Mercredi 06 Janvier 2010, 16:45

C'est une idée mais la décompilation ne donne pas ce genre de résultat du tout.
Il existe aussi des programmes destinés à embrouiller la source en C afin de rendre le programme source incompréhensible ( système antivol de l'algorithme ). Cela s'en rapproche un peu plus.
Pour atteindre ce degré de perversité, je ne vois qu'un programmeur en C encore pire que moi ( c'est pas peu dire ! ), pas un programme tout seul.

J'ai connu un plus petit programme dans ce style pour calculer un grand nombre de décimales de PI:
http://www.yann-ollivier.org/pi/pi

Voir:
http://fr.wikipedia.org/wiki/Internatio ... de_Contest
http://en.wikipedia.org/wiki/Internatio ... de_Contest
http://www.cise.ufl.edu/~manuel/obfusca ... scate.html

Faire une recherche Google avec:
program obfuscated
J'ai le virus des sciences, ça se soigne ?
Framboise
Téra-utilisateur
 
Messages: 1154
Inscription: Lundi 21 Mai 2007, 12:57
Localisation: Dordogne
Statut actuel: Post-bac | Doctorat

Re: Programme de dingue en C

Messagepar Garulfo » Jeudi 07 Janvier 2010, 02:25

François D. a écrit:En discutant de ce programme avec un collègue ce matin, j'ai fini par me demander qui pouvait être à la fois suffisamment compétent et pervers pour pondre une ignominie pareille :mrgreen: ...
M'est alors venue l'idée suivante : il pourrait s'agir d'un programme initialement écrit de manière classique et, toutes proportion gardées :mrgreen:, lisible, en C (voire même peut-être dans un autre langage compilé, finalement), compilé pour obtenir un exécutable qui a lui été décompilé par après ce « source » C si alléchant.


Non c'est un programme écrit volontairement dans ce sens. C'est un jeu de l'esprit et un exemple de ce qu'il ne faut jamais faire. Ça amuse les étudiants mais c'est quasiment contraire à toutes les bonnes habitudes de programmation.
Garulfo
Kilo-utilisateur
 
Messages: 107
Inscription: Mardi 10 Juillet 2007, 19:49
Localisation: Sherbrooke, Québec, Canada
Statut actuel: Actif et salarié | Maître de conférence

Re: Programme de dingue en C

Messagepar Garulfo » Jeudi 07 Janvier 2010, 02:26

Framboise a écrit:C'est une idée mais la décompilation ne donne pas ce genre de résultat du tout.
Il existe aussi des programmes destinés à embrouiller la source en C afin de rendre le programme source incompréhensible ( système antivol de l'algorithme ). Cela s'en rapproche un peu plus.[...]


J'en doute aussi. Brouiller le code source est peu efficace. C'est l'assembleur qui est brouillé d'habitude avec des instructions inutiles.
Garulfo
Kilo-utilisateur
 
Messages: 107
Inscription: Mardi 10 Juillet 2007, 19:49
Localisation: Sherbrooke, Québec, Canada
Statut actuel: Actif et salarié | Maître de conférence


Retourner vers Tribune libre

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité