Kod Koruması: Yeni MQL4 dili (Yapı 600+) derleme çözme koruması ve diğer crack teknikleri.

 

Merhaba,

Yeni mql4(Yapı 600+) hakkında okudum ve EA'larımı zaten güncelledim, şimdi bir sorum var. Yeni koruma, krakerlere ve diğer yürütülebilir dosya kırma ve kodu değiştirme türlerine karşı ne kadar güvenli. ÖRNEK: son kullanma tarihinin onaltılı düzenlemesi, bellek dökümleri, vb.. Şimdi bir EA'da basit bir zaman kısıtlaması ( son kullanma tarihi ) ne kadar güvenli? Yeni dili kullanarak yeni koruma teknikleri nasıl uygulanır?

eski:

 bool Expire= TimeCurrent ()> StrToTime ( "2014.09.30 00:00" );
     if ( Expire ) {
                 Print ( "Demo period has expired: 2014.09.30 00:00 -  Contact: investguy@gmail.com " );
                 return ( 1 );
        }  

teşekkürler

 

Renat'ın (Metaquotes CEO'su) söylediklerinden:

  • Yeni ex4, yerel koddur (DLL gibi) ve artık sözde kod yoktur. Bu nedenle, derlemeleri daha zordur.
  • ex4 sıkıştırılmıştır (veya bilinmeyen başka bir şaşırtma tekniği), bu nedenle derlenmiş olması onu anlamak zor.
  • Market için ex4 şifrelenir. Kullanılan kesin teknik kamuya açık değildir.

Bu bilgileri hafızamdan rapor ediyorum, umarım bir hata yapmam. Ayrıca pratikte bu bilgileri kontrol etmiyorum.

 
Cevabınız için teşekkür ederim ama bilgime fazla bir şey katmadı. Decompile etmek mümkün mü? yakın gelecekte mümkün olabilir mi? (herhangi bir bahis?)
 
investguy :
Cevabınız için teşekkür ederim ama bilgime pek bir şey katmadı. Decompile etmek mümkün mü? yakın gelecekte mümkün olabilir mi? (herhangi bir bahis?)

AFAIK, şifrelenmiş bir ürün ayrıştırılamaz. Önce şifresini çözmelisin. Bir ürün her zaman ayrıştırılabilir. Ama bu bir maliyet meselesi. Eski bir ex4'ü yeniden derlemek size 10$'a mal olduysa, belki yeni ex4'ün 1.000.000$'a ihtiyacı olacaktır (sadece bir şey söylemek için). Anladın mı?

 
StrToTime ( "2014.09.30 00:00" );

Saf bir dize kesmek kolaydır. Derlemeyi ve dizenin ex4'te görünüp görünmediğini görmeyi deneyin. Şimdi şifrelenmesi gerekiyor (6xx Derlemesi). Doğrulayın.

Ayrıca neden bir dize kullanıyorsunuz? Gerçek bir 8 baytlık tarih saat kullanın.

 #define EXPIRATION D'2014.09.30 00:00'
 

Şifrelenmiştir ancak ne yazık ki özellik değişkenleri hala görünür durumdadır.

 
investguy : Şifrelenmiştir ancak ne yazık ki özellik değişkenleri hala görünür durumdadır.
Bu talihsiz değil, bilerek. Dosyadaki metin yazısını okuyamıyorsanız, dosya kopyalanmış değildir. Ancak tarih dizesi görünmüyor.
 
investguy :

Merhaba,

Yeni mql4(Yapı 600+) hakkında okudum ve EA'larımı zaten güncelledim, şimdi bir sorum var. Yeni koruma, krakerlere ve diğer yürütülebilir dosya kırma ve kodu değiştirme türlerine karşı ne kadar güvenli. ÖRNEK: son kullanma tarihinin onaltılı düzenlemesi, bellek dökümleri, vb.. Şimdi bir EA'da basit bir zaman kısıtlaması (son kullanma tarihi) ne kadar güvenli? Yeni dili kullanarak yeni koruma teknikleri nasıl uygulanır?

eski:

teşekkürler


AFAIK, şu anda Build 6xx ile derlenmiş .ex4 için çalışan bir kod çözücünün şu ana kadar olasılığı yoktur.


AMA, kodunuzla ilgili sorun, gerçekten onu kırmakla ilgilenen herkes için, kodunuzu çevirmenin çok kolay olmasıdır.

 if (condition...)

ile

 if (!condition

Veya daha da kolay, dönen NOP'a (1)

Devam etmek için, Derlemeyi Çözmek artık mümkün değil.


Ancak yine de mümkün olan şey kodun sökülmesidir. Ve çok az montaj bilgisi olan herkes için, kodunuzu tersine çevirmek ve kırmak oldukça kolay olacaktır.

 
yokinfx : Ama yine de mümkün olan şey kodun çözülmesidir. Ve çok az montaj bilgisi olan herkes için, kodunuzu tersine çevirmek ve kırmak oldukça kolay olacaktır.
Makine kodu olması gerekmiyor, şifrelenmesi gerekiyor.
 
yokinfx :


AFAIK, şu anda Build 6xx ile derlenmiş .ex4 için çalışan bir kod çözücünün şu ana kadar olasılığı yoktur.


AMA, kodunuzla ilgili sorun, gerçekten onu kırmakla ilgilenen herkes için, kodunuzu çevirmenin çok kolay olmasıdır.

ile

Veya daha da kolay, dönen NOP'a (1)

Devam etmek için, Decompiling şimdi mümkün değil.


Ancak yine de mümkün olan şey kodun sökülmesidir. Ve çok az montaj bilgisi olan herkes için, kodunuzu tersine çevirmek ve kırmak oldukça kolay olacaktır.

Gerçekten ? Kanıtlayabilir misin?
 
Kodunuzu bir DLL dosyasına koyun. MQL2'den beri ödüllü cevap budur.