Konuyu görüntüle
IUCODERS FORUM > Programlama > C / C++ > code obfuscation
Yazar
tuuba


avatar
Bursa
Kayıt: 22.01.2007
22.12.2008-02:53 #53703
Java gibi dillerin en önemli avantajlarından biri, ILDASM (intermediate language disassembler) ile edinebileceğimiz pek çok faydalı bilgiyi barındıran assembly’lerdir. Bu bizim için bir avantaj olsa da, binary dosyalarınıza ulaşan biri, assembly’lerdeki bilgileri kullanarak orijinal kodlarınıza (neredeyse tamamına) ulaşabilir. Bu noktada reverse-engineering işlemlerinin önüne geçmek için, kaynak kodu reverse engineering ile okunduğunda anlamsız olarak görüntüleyen degisken, fonksiyon, sinif isimleri gibi insanlarin kodu anlamasina yarayan unsurlarin son derece anlamsiz kelimelere donusturuldugu islem olan obfuscation metodu geliştirildi.


klasik hello world! programi:

#include <stdio.h>
main () {
printf ("hello world!
");
return 0;
}

hello world! programinin obfuscated versiyonu:

x(f,s,c)char*s;{return
f&1?*s?*s-c?x(f,++s,c):10[s]:0:f&2?
x(--f,"&$#%@!)*~'!dowl
hre",c):*s?
x(f,s+1,putchar(x(f-2,"^&%!*)",*s))):0;}

main(){return x(4,"*'@@#)%#~@$&!",65);}







Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
22.12.2008-09:14 #53704
java ,c# gibi dillerde class dosyalarından kod tekrar oluşturulduğu için bu dillerde gerekli gerekli olabilir ama doğrudan binary dosyaya çevriliyor ise gereksiz olur.





N/A
Yazar
antirunje


avatar

Kayıt: 16.11.2006
22.12.2008-12:42 #53706
Ücreti fazla olsa gerek Tuğba arkadaşımızın verdiği obfuscator. Bedava sürümlerde sadece basit a b c şeklinde gizlemeler yapıyor ve stringlere de müdahele etmiyor. :)





Eger ac ve kimsesiz bir kopegi alip bakar ve rahata kavusturursaniz sizi isirmaz. Insan ve kopek arasindaki temel fark budur.






Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb