MT5'te MQL kodunun yazarlığının korunması. güvenlik sertifikaları - sayfa 2

 

EX4'e gelince, Editör büyük olasılıkla geri derlenmiştir.

Ve savunmalardan çıplak görünüyor. Finansal akış yok.

Ve her iki korunan bileşen (İstemci ve Düzenleyici) anahtarlarla çalışırsa, başarı için daha fazla umut vardır.

;)

 

5 kopek...


1. Bir bağlantı varsa, çoğu (hepsi değilse de) belirli bir ürünün kullanılması gerekir.

2. Böylece, “anahtar” kendisini belli bir formda gösterir.

üzerinde çalışan bir gösterge veya Expert Advisor bulunan terminalin başlangıçta "adres" vereceği hizmet...

3. Ve buna göre, ayrıştırma sorunu artık bir sorun değil.


Kategori dışı. Ürün gerçekten ilginç olmalı.

Orada "temel" olarak satılan süper gizli algoritmalara genel bakış

ilginç ve daha faydalı bir şey olmadığını gösterdi ... ne yazık ki ...


Prensip olarak, hesaplama algoritmasının kendisi süper kandırıcıdır, eğer yazar öyle düşünürse, sitede de yayınlanabilir.

Açıkça yayınlansa bile sır olmayan ticaret süreçlerindeki sirkülasyonu ve uygulamayı Expert Advisor'da düzenlemek daha doğrudur.

- uzman bir istek gönderir (abonelik ile)

- değerleri alır

- süreçler

- ticaret

- geçerken render ile meşgul olabilir

//

ticaret hariç gösterge için aynı


Aboneliği hesap numarasına göre düzenleyin ...


Genel olarak, bir Roma imparatorunun ızgara yaptığı gibi: böl ve yönet!

 
circlesquares :


Gerçek şu ki, ayrıştırma sorunu hala bir sorundur. Gerekli tüm kod EA'nın içindeyse, bilinen bir çalışma anahtarıyla birlikte derleme çözme, tüm sonuçlarıyla birlikte EA'nın kaynak kodunu verir.

Kodun bir kısmı sitede bulunuyorsa, bu çok güvenilmez bir çözümdür. Sitenin işleyişindeki herhangi bir arıza, müşterilerin parasında akıllara durgunluk veren bir kayba yol açabilir.

 
api :

Ek olarak, bir yerde MQL5 kodunun işlemcinin yerel koduna derlendiğinden söz edildiğini görmüştüm. Bunun doğru olup olmadığını bilmiyorum, ama eğer öyleyse, bu, derlemeye karşı korumada ciddi bir delik.

Ve bu güvenliği nasıl azaltabilir?

Kodun eklenmesi, asimetrik şifrelemenin kullanılmasıyla önlenir - yeterli bir anahtar uzunluğu ile bir imza oluşturmak imkansız olacaktır.

Ayrıştırmadan bahsediyorsanız - makine kodu için otomasyonu çok zordur. Sökmeyi kastetmiyorum - bu mümkün, çünkü İşlemcinin kendisi bir şekilde kodu yürütmek zorundadır. Otomatik ayrıştırma girişimleri yapılıyor ( http://www.hex-rays.com/ ), ancak temel olarak derleyici tarafından oluşturulan kodun tüm olası değişkenlerini analiz etmeye geliyorlar (bu tamamen önemsiz bir görev haline geliyor, çünkü anladığım kadarıyla, metaquotes tarafında makine koduna dönüştürme yapılacak). Kod üretecinin çalışmasını ayın evresine bağlarsanız (yani, yapıların farklı şekillerde derlenmesi için), ayrıştırma otomasyonu tamamen gerçekçi olmayacaktır!

 
lea :

Ve bu güvenliği nasıl azaltabilir?

Kodun eklenmesi, asimetrik şifrelemenin kullanılmasıyla önlenir - yeterli bir anahtar uzunluğu ile bir imza oluşturmak imkansız olacaktır.

Ayrıştırmadan bahsediyorsanız - makine kodu için otomasyonu çok zordur. Sökmeyi kastetmiyorum - bu mümkün, çünkü İşlemcinin kendisi bir şekilde kodu yürütmek zorundadır. Otomatik ayrıştırma girişimleri yapılıyor ( http://www.hex-rays.com/ ), ancak temel olarak derleyici tarafından oluşturulan kodun tüm olası değişkenlerini analiz etmeye geliyorlar (bu tamamen önemsiz bir görev haline geliyor, çünkü anladığım kadarıyla, metaquotes tarafında makine koduna dönüştürme yapılacak). Kod üretecinin çalışmasını ayın evresine bağlarsanız (yani, yapıların farklı şekillerde derlenmesi için), ayrıştırma otomasyonu tamamen gerçekçi olmayacaktır!


Aslında sökmeyi kastetmiştim. Ben, herkeste olduğu gibi, yeteneklerime göre yargılanırım. Çoğu durumda algoritmayı montajcı metninden geri yüklemek benim için çok kolay olduğundan, benim için bu, derlemeyi çözme ile eşdeğerdir. Tabii ki, bu işlem polimorfik virüslerin algoritmaları kullanılarak büyük ölçüde karmaşık olabilir, ancak sonuçta antivirüsler olduğu için bu teknik tam bir garanti vermez.

 
api :


Aslında sökmeyi kastetmiştim. Ben, herkeste olduğu gibi, yeteneklerime göre yargılanırım. Çoğu durumda algoritmayı montajcı metninden geri yüklemek benim için çok kolay olduğundan, benim için bu, derlemeyi çözme ile eşdeğerdir. Tabii ki, bu işlem polimorfik virüslerin algoritmaları kullanılarak büyük ölçüde karmaşık olabilir, ancak sonuçta antivirüsler olduğu için bu teknik tam bir garanti vermez.

Büyük dosyaları demonte etmek (ida yardımıyla bile) ve algoritmayı manuel olarak yeniden oluşturmak çok fazla zaman ve çaba gerektirir. İnsanların bu yaklaşımı sıklıkla uygulayacakları şüphelidir. Ancak görünüşe göre - geliştiriciler oluşturulan makine kodunu bir şekilde karmaşıklaştırmayı başarırsa, gelecekte makine koduna sahip dosyalar için mümkün olacak tek yöntem budur.
Antivirüsler nadiren herhangi bir özel algoritma kullanır. Esas olarak dosyaların özelliklerine ve talimat dizilerine yapışıyorlar - antivirüsün pi sayısının hesaplanmasını satırın toplamı aracılığıyla (fpu kullanmak için eğitilmiş) lanetlediği gerçeğiyle karşılaştım. Decompilation temelde farklı bir görevdir. Kod oluşturma sırasında geri dönüşü zor kod mutasyonları gerçekleştirirseniz, karakteristik kod türevlerine göre derleme yapmak prensipte imkansız olacaktır (kodu taklit etmeniz/izlemeniz ve "yüksek düzeyde" ne olduğunu görmeniz gerekir - okuduğunuz yerden, neyi ve nereye yazdığınızı, neyi ve hangi parametrelerle adlandırdığınızı .. .antivirüsler benzer bir yaklaşım kullanıyor gibi görünüyor, ancak yalnızca çeşitli sistem işlevlerine yapılan çağrı dizilerini izliyorlar).

Geri dönüşü zor mutasyonlarla ilgili olarak, muhtemelen makalelere birkaç bağlantı vereceğim (umarım yönetim ve okuyucular bunun bağlantılarına aldırmaz):

 

MQL5'teki kodu karmaşıklaştırmak/gizlemek için, her işlev için özel bir değiştirici belirtebilirsiniz:

 void MyFunc( int val) trash 
  {
   Print ( "Val: " ,val);
  }

Şimdiye kadar çöp olarak adlandırıldı, ancak büyük olasılıkla korumak için değiştireceğiz.


Sonuç olarak, kod derinden kirlenecek ve belirtilen işlev yavaşlayacaktır.


Ek olarak, MQL5 dil derleyicisi, ters derleme olasılığını büyük ölçüde azaltan birçok optimizasyon kullanır.

 
Renat :

MQL5'teki kodu karmaşıklaştırmak/gizlemek için, her işlev için özel bir değiştirici belirtebilirsiniz:

Bu iyi :) Çöp kodunun yüzdesini ayarlamak mümkün olacak mı? Çağrı sitesinde işlevler sıralanacak mı?

 
lea :

Bu iyi :) Çöp kodunun yüzdesini ayarlamak mümkün olacak mı? Çağrı sitesinde işlevler sıralanacak mı?

Her seferinde çöp atmanın yeni bir yolu olacak. Yüzdeyi ayarlayamazsınız - her şeye derleyici karar verir.


Otomatik satır içi işlevler uzun süredir çalışıyor - derleyici, işlevin hacmine ve karmaşıklığına bağlı olarak kararlar veriyor. Yani, büyük işlevler satır içine alınmamıştır.

 

Ah... benim için ne kadar kolay...

Arzuları kırmayacağım, peki, yakın gelecekte hiçbir şey satmayacağım.

İnsanların sorunu bu...

:)))