Welcome to my blog

Here, I talk about my projects, .Net, and work.

3 Mar, 16

[MSIL] Désassembler, modifier, recompiler un Assembly .Net / WinRT


Hello World à tous !

Voici quelques mois que je n’ai pas écrit d’article. Aujourd’hui nous allons voir comment désassembler, modifier et recompiler un EXE ou une DLL précédemment compilé en .Net ou en WinRT.

Avant toute chose, une petite mise en garde au cas où : désassembler un programme peut s’avérer être illégal selon la licence associée au composant que vous allez exploiter.

Voilà, je me sens beaucoup mieux. 🙂
Qu’allons-nous voir plus précisément ?

ILDASM et ILASM

Je m’attaque à un cas de figure particulier. Généralement nous désassemblons un Assembly grâce à des outils comme JustDecompile ou .Net Reflector. Ces deux outils ont l’avantage de nous afficher du code C# compréhensible de tous, et même de l’exporter sous forme de projet pour Visual Studio. Seulement quelquefois, ça ne fonctionne pas très bien. Et c’est pire quand l’Assembly a été obfusqué auparavant (là en général c’est un désassemblage totalement illégal…) car ça ne compile même pas et il faudrait des jours voir des semaines pour obtenir un code qui compile correctement sans avoir changé le comportement du programme.

Du coup, la solution que je propose est de mettre la main dans le MSIL (Microsoft Intermediate Language). C’est un langage intermédiaire généré lors de la compilation et qui est converti par la suite en code natif. L’avantage est que même obfusqué, il est compilable.

Read more
1 Oct, 15

Stage à Microsoft 2.0 – Async Functions


Articles :

  1. Semaine 1
  2. Semaine 2
  3. Semaine 3
  4. Semaine 4
  5. Semaine 5
  6. Semaine 6
  7. Semaine 7
  8. Semaine 8
  9. Semaine 10
  10. Semaine 11
  11. Semaine 12
  12. Async Functions

Hello World à tous ! Ca y est, je peux vous parler plus en détail de mon travail à Microsoft lors de mon dernier stage.

Durant ces douze semaines passées avec l’équipe Chakra, en charge du développement du Runtime JavaScript de Microsoft Edge, j’ai développé les Async Functions, nouvelle spécification d’ECMAScript 2016. Cette fonctionnalité inclue deux nouveaux mots-clés dans le langage JavaScript : async, et await. Ceux qui développent en C# seront sûrement ravis de cette nouveautés.
Vous pouvez les utiliser dans un code JS avec Microsoft Edge (EdgeHTML 13.10547).Veillez à activer les fonctionnalités expérimentales JavaScript dans Edge en vous rendant à l’adresse http://about:flags/.

Durant mon stage, j’ai rédigé un article pour le MS Edge Dev Blog ainsi qu’enregistré une vidéo pour Channel 9. Ces deux documents vous permettrons d’en apprendre plus sur comment utiliser les Asyncs Functions, et comment cela a été développé dans le moteur Chakra.

La vidéo sur Channel 9.

L’article sur le blog MS Edge Dev.

A bientôt ! Moi, je me prend quelques semaines de vacances avant la reprise des cours en Novembre. 🙂

21 Sep, 15

Stage à Microsoft 2.0 (douzième semaine) – Hello Paris !


Articles :

  1. Semaine 1
  2. Semaine 2
  3. Semaine 3
  4. Semaine 4
  5. Semaine 5
  6. Semaine 6
  7. Semaine 7
  8. Semaine 8
  9. Semaine 10
  10. Semaine 11
  11. Semaine 12
  12. Async Functions

Hello World à tous ! Douzième semaine de stage, onzième article.

Ca y est, ma toute dernière semaine de stage est terminée. Je suis rentré sur Paris dimanche.

Tout comme l’an dernier, j’ai renouvelé mon stage pour l’an prochain. J’ai eu de bons retours de la part de mon manager, le projet sur lequel j’ai travaillé sera disponible d’ici quelques jours/semaines. Encore une petite augmentation de salaire qui fait toujours plaisir. J’irais surement dans l’équipe Windows Shell, je quitte donc la Developer Division (DevDiv) pour aller voir l’Operating Systems Group (OSG).

J’aimerais vous faire un résumé de ce que j’ai pu apprendre, de ce que j’ai apprécié, des difficultés que j’ai rencontré, mais au final, je vais un peu trop me répéter par rapport à l’un de mes articles de l’an dernier, car le sentiment est le même : j’ai encore appris sur les tests unitaires, j’ai encore détesté quand le service de chambre de l’hôtel lançait le lave-vaisselle avec uniquement un verre sale dedans, et j’ai encore adoré la région. [l’article en question]

Read more
12 Sep, 15

Stage à Microsoft 2.0 (onzième semaine) – Windows Team


Articles :

  1. Semaine 1
  2. Semaine 2
  3. Semaine 3
  4. Semaine 4
  5. Semaine 5
  6. Semaine 6
  7. Semaine 7
  8. Semaine 8
  9. Semaine 10
  10. Semaine 11
  11. Semaine 12
  12. Async Functions

Hello World à tous ! Onzième semaine de stage, dixième article.

Je viens de terminer mon avant dernière semaine, et c’était assez sympa.

Article

Voilà exactement trois semaines que je travaille en pointillé sur un article pour MS Edge Dev Blog. Il ne fait pas des pages et des pages, mais trois semaines ont vraiment été nécessaires pour l’écrire.

La première raison est qu’il restait quelques bugs dans mon projet de stage et que j’ai dû les corriger pour que l’article ai un sens (je me comprend). La seconde, c’est que l’on a pris du temps à corriger le ton de l’article. Vous savez quand vous lisez un article sur le blog de Microsoft, les tournures de phrases, le ton, sont toujours les mêmes, ce qui donne l’impression que c’est toujours écrit par la même personne, ce qui est normal d’un côté dans une grosse entreprise comme ça. Pour obtenir cette linéarité, il faut faire de la revue de code, enfin d’article plutôt. En soit j’ai pris une petite semaine à écrire tous les points que je voulais aborder, mais deux semaines à reformuler, corriger, faire valider, vérifier les références…etc. J’imagine qu’un employé qui a l’habitude fait ça plus rapidement et mieux, enfin j’espère.

Read more
5 Sep, 15

Stage à Microsoft 2.0 (dixième semaine) – C’est bientôt la fin


Articles :

  1. Semaine 1
  2. Semaine 2
  3. Semaine 3
  4. Semaine 4
  5. Semaine 5
  6. Semaine 6
  7. Semaine 7
  8. Semaine 8
  9. Semaine 10
  10. Semaine 11
  11. Semaine 12
  12. Async Functions

Hello World à tous ! Dixième semaine de stage, dix… neuvième article.

Tout d’abord, toutes mes excuses pour ne pas avoir publié d’article la semaine dernière, j’étais assez occupe avec mon weekend à Vancouver et n’avais pas grand-chose à raconter sur la semaine passée.

Ça sent la fin

Je termine mon stage dans maintenant deux semaines. J’ai encore pas mal de choses à faire au bureau, mais j’ai tout de même l’impression d’avoir tourné en rond toute la semaine. Pourtant, j’ai corrigé des bugs, fais de la revue de code, retourné mon projet dans tous les sens pour voir si ça plante ou pas, mais au lieu de faire 7h-18h au bureau (oui je me lève très tôt) comme d’habitude, je fais plutôt 9h-16h.

Je n’aime pas les dentistes

Voilà bien plus de 10 ans que je n’avais pas eu de caries, et évidemment, j’en ai eu deux en étant aux Etats-Unis. Ça doit faire partie de la loi de l’emmerdement maximum. Comme vous le savez peut-être, ici, il n’y a pas de sécurité sociale qui rembourse aussi facilement qu’en France. Tout passe par les assurances et les médecins coûtent bonbon. Je vous la fais court : deux caries toutes jeunes, 360$ dans les dents (c’est le cas de le dire).

Read more