Tersine Mühendislik Hakkında Sorular

Başlatan kaansef, 08 Eylül 2015 - 14:53:17

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

kaansef

Merhaba,

Arkadaşlar birkaç sorum olacak tersine mühendislik hakkında. Birçok programlama dili biliyorum ve 2007'den beri aktif olarak kullanıyorum. Kendimi daha çok geliştirmek istiyorum. Matematik bilgim 4 işlemden ibaret. İngilizcem ise iyi değil (teknik ingilizce hariç). Eğer mümkünse yaşlarınızı ve mesleğinizi yazıp, bu konulara nasıl ulaştığınızı yazabilir misiniz? Nasıl başladınız ve nasıl geliştirdiniz? Geliştirecek olanlara tavsiyeleriniz nelerdir? Bu işlerde matematik gerekiyor mu? Şimdiden teşekkür ederim. Herkese iyi akşamlar.
# 28065

Reverser

merhaba, öncelikle şunu belirtmek istiyorum, bu konuda kendimi uzman olarak görmüyorum kendi mesleğimin doğrudan bu konu ile ilgisi yok. Kendi şirketim var ve müşterilerimize başka bir alanda hizmet veriyoruz. (Anonim kalmak istediğim için fazla detaya girmeyeceğim.) Yazılım bilgisi bu alanda olmazsa olmaz bana kalırsa. Neden diyecek olursan, okuduğun ASM kodunu başka bir dile çeviriyorsun bu kısım en önemli olan kısım. İkinci en önemli olan kısım ise ve tabii ki olmazsa olmaz, ASM bilgisi. Daha öncede belirtmiş olduğum gibi kendini geliştirmek ve bir şeyler öğrenmek istiyorsan ilk önce GDB altında küçük küçük programları analiz et ASM çıktılarına bak ve anlamaya çalış.

if-else / Switch case
loop
structure
pointers
sys calls
int,float,char types
recursive funcs
bitwise operators
logical operators

bu ve bunun gibi işlemler yapan yazılımları GDB altında analiz etmeye başlamak güzel bir başlangıç olacaktır bence. Ek olarak, yabancı dil çok önemli ve fazlasıyla zamanın olmalı.

XFCE ROCKS !
Powered by Thunar & XFWM4



kaansef

Peki ya matematik bilgisi? Olmazsa olmazlardan mı? Bence matematik ile bilgisayarın kesiştiği nokta programlama değil. Sizlerinde fikrini almak isterim.
# 28065

Reverser

programın amacına göre matematik bilgisi gerekli olabiliyor. Reversing ile uğraşırken ağır matematik kullandığımı hatırlamıyorum daha çok bellek hesaplamaları için hexadecimal işlemler gerekebiliyor.

XFCE ROCKS !
Powered by Thunar & XFWM4



kaansef

Cevap için çok teşekkürler @Reverser.
# 28065

Sh4oTT

Benim de aklıma birkaç soru takıldı. Hocam ASM bilgisini nerelerde kullanıyorsunuz yani faydası oluyormu yoksa sadece hobi olarakmı yapıyorsunuz? Bir yazılım mühendisi ASM kesinlikle öğrenmelimidir? ASM bizlere ne gibi faydalıklar, kolaylıklar sağlar? :)

kaansef

Merhaba,

ASM makine koduna en yakın olan dildir denilebilinir. Bu nedenle bilgisayarın mantığını anlamak için bence ASM kesinlikle şart. Çünkü istisnalar haricinde tüm programlama dilleri derleyiciler vasıtasıyla ASM koduna dönüştürülür. Dönüştürülen bu kodlar çevirici denilen bir program ile 1 ve 0'lara dönüştürülür. Eğer bilgisayar mantığını kavramak isterseniz ASM biçilmiş kaftandır.
# 28065

ahmet_matematikci

@shaodownlinump asm senin ne yapmak istediğin ile alakalı. Antibiyotik iyidir ama mantar hastasına antibiyotik verilmez antifungal verilir. Senin projelerin hangi dili gerektiriyorsa onu öğrenmelisin.
ASM ile web programlama olmayacağı gibi mühendislik ve robotik kolda da php işine yaramaz.
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

Sh4oTT

Robotik ve yapay zeka için ASM şartmı o zaman?

ahmet_matematikci

Daha detaylı cevap verilecektir ama ben özet  geceyim. Robotun için evet ama yapay zeka için hayır
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

bugra9

Aslında tersine mühendislik konuları dışında hiçbir yerde assembly dilini bilmen şart değildir. Gerek elektronik alanda gerekse bilgisayar alanında zaten c dili ile hatta javayla bile istediklerini gerçekleştirebilirsin. Ama bu dili iyi kullanabiliyorsan, bu dille yazdığın yazılımlar diğer dillere göre daha performanslı çalışacaktır.

Bana göre bilgisayar ile uğraşan herkesin assembly dilini ve mantıksal kapıları bilmesi gerekiyor. Hem sana bilgisayarın nasıl işlediğini öğretir hem de ufkunu açar ve nasıl düşünmen gerektiğini gösterir. Bana, temel atmadan inşaat yapma olayı pek mantıklı gelmediği için bunu söyleyebiliyorum.

Sh4oTT

@bugra9, mantıksal kapılar dedıgınız lojık devrelermı AND-OR-XOR falan?

bugra9

Alıntı yapılan: ShaoDownLiNuP - 22 Ocak 2016 - 19:38:07
@bugra9, mantıksal kapılar dedıgınız lojık devrelermı AND-OR-XOR falan?
Evet

Amenofis

Asm ile program yazabilmenize gerek yok ama bir göz aşinalığı olması her zaman iyidir. Sonuçta bugün derleyiciler çok iyi kalitede asm çıktısı üretiyor, tecrübesiz birinin yazacağı koddan çok daha iyi.

Yüksek performanslı uygulamalar yazabilmek için asmden ziyade donanımın ve işletim sisteminin işleyişi hakkında bilgi gerekir. Örneğin niçin bağlı liste yerine dizi tercih edilmeli. Niçin bellek tahsisi parça parça değilde bütün halde yapılmalı. İstisna işleme mi hızlıdır yoksa hata kodu döndürmek mi. Hızlı bellek kopyalamak, doldurmak için derleyiciye nasıl yardım edilir. vs...

Sh4oTT