Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Présentation gnireenigne

1,067 views

Published on

  • Be the first to comment

  • Be the first to like this

Présentation gnireenigne

  1. 1. CocoaHeads.fr
  2. 2. gnireenigne Les outils du mal
  3. 3. Enahpéts ErdusZorglhomme
  4. 4. “Alors, c’est l’histoire d’un crash…”2011-01-17 11:32:53.186 packagemaker[7547:903] -[PMCLIFakeDocument alertDispatcher]: unrecognized selector sent to instance0x2096402011-01-17 11:32:53.187 packagemaker[7547:903] *** Terminating app due to uncaught exception NSInvalidArgumentException,reason: -[PMCLIFakeDocument alertDispatcher]: unrecognized selector sent to instance 0x209640*** Call stack at first throw:( 0 CoreFoundation 0x9579b6ba __raiseError + 410 1 libobjc.A.dylib 0x96940509 objc_exception_throw + 56 2 CoreFoundation 0x957e890b -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 3 CoreFoundation 0x95741c36 ___forwarding___ + 950 4 CoreFoundation 0x95741802 _CF_forwarding_prep_0 + 50 5 packagemaker 0x0009c076 0x0 + 639094 6 Foundation 0x91b06ab1 __NSFireDelayedPerform + 537 7 CoreFoundation 0x95705adb __CFRunLoopRun + 8059 8 CoreFoundation 0x95703464 CFRunLoopRunSpecific + 452 9 CoreFoundation 0x95703291 CFRunLoopRunInMode + 97 10 Foundation 0x91b7f8d1 -[NSConcreteTask waitUntilExit] + 273 11 packagemaker 0x000714e2 0x0 + 464098 12 packagemaker 0x00046cd3 0x0 + 290003 13 packagemaker 0x0001c546 0x0 + 116038 14 packagemaker 0x0001c5dd 0x0 + 116189 15 packagemaker 0x0001c5dd 0x0 + 116189 16 packagemaker 0x0001c5dd 0x0 + 116189 17 packagemaker 0x0001c5dd 0x0 + 116189 18 packagemaker 0x0001c5dd 0x0 + 116189 19 packagemaker 0x000469f9 0x0 + 289273 20 packagemaker 0x0003213f 0x0 + 205119 21 packagemaker 0x00032a0b 0x0 + 207371 22 packagemaker 0x00033362 0x0 + 209762 23 packagemaker 0x000316f3 0x0 + 202483 24 packagemaker 0x0003efc2 0x0 + 257986 25 packagemaker 0x000304cf 0x0 + 197839 26 packagemaker 0x0006a7d9 0x0 + 436185 27 packagemaker 0x00069e07 0x0 + 433671 28 packagemaker 0x00002bca 0x0 + 11210 29 packagemaker 0x00002ba9 0x0 + 11177
  5. 5. class-dump
  6. 6. class-dump “Si vous avez des classes qui ne doivent être connues de personne, peut-être ne devriez vous pas les coder.”
  7. 7. class-dump typedef struct { struct _NSModalSession *_field1; char _field2; id _field3; Structures } CDAnonymousStruct14; … @protocol NSCoding - (void)encodeWithCoder:(id)fp8; - (id)initWithCoder:(id)fp8; Protocoles @end … @interface NSAppleMenuItemRepresentedObject : NSObject { NSString *_title; NSImage *_image; NSString *_domainName; NSString *_key; Classes NSArray *_submenuRepresentedObjects; NSDictionary *_dictionary; } … Catégories @interface NSApplication (NSAppleMenuPrivate) - (void)_updateAppleMenu:(id)fp8; @end
  8. 8. Démo
  9. 9. class-dumpSupport Binaires Mac OS X et iOS Binaires 32-bits et 64-bitsRessources Éxécutable + code source ( non utilisable dans les parkings souterrains ) http://www.codethecode.com/projects/class-dump/
  10. 10. otool
  11. 11. otool “Permet d’afficher la matrice et un peu plus si affinité”
  12. 12. Démo
  13. 13. otoolSupport Binaires Mac OS X et iOS Binaires 32-bits et 64-bitsRessources Éxécutable + code source ( APSL + GPL? ) /usr/bin/otool http://opensource.apple.com/source/cctools/cctools-750/
  14. 14. otx
  15. 15. otx “otool pour ceux quibastard son la matrice.” otool’s ne lisent pas
  16. 16. Démo
  17. 17. otxSupport Binaires Mac OS X Binaires 32-bits (PowerPC et Intel)Ressources Éxécutable + code source ( domaine public ) http://otx.osxninja.com/
  18. 18. etc.
  19. 19. etc. IDA Pro http://www.hex-rays.com/idapro/ strings /usr/bin/stringsRessources Spelunking OS X http://ideveloper.tv/freevideo
  20. 20. cocotron & GNUstep
  21. 21. cocotron & GNUstepRessources http://www.cocotron.org/ ( MIT License ) http://savannah.gnu.org/projects/gnustep ( GPL )
  22. 22. Obfuscation“Je vous demande de vous arrêter.”
  23. 23. ObfuscationRenommage des classes, méthodes, données membres#define PWLicenseCenterDelegate seNYECN0G0i#define setIsLicensed setRcjyzqqe2AtvjiitqExemple stupide pour masquer des chaînes à strings#include <stdio.h>int main (int argc, const char * argv[]){ char tString[16]; tString[0]=H;tString[1]=e;tString[2]=l;tString[3]=l;tString[4]=o;tString[5]=,;tString[6]=;tString[7]=W;tString[8]=o;tString[9]=r;tString[10]=d;tString[11]=!;tString[12]=n;tString[13]=0; printf("%s",tString); printf("Hello, Excel!n"); return 0;}
  24. 24. CocoaHeads.fr
  25. 25. One more thing
  26. 26. Cong
  27. 27. Démo
  28. 28. CongSupport Mac OS X bundles Mac OS X v10.5 ou ultérieurRessources Éxécutable + un peu du code source ( BSD ) http://s.sudre.free.fr/Software/Cong/about.html
  29. 29. CocoaHeads.fr

×