DLL hata ayıklama? MT4 ve MT5'te - sayfa 16

 

Arkadaşlar konuyu sormuyor olabilirim ama benim de sürüm 5'te kütüphane ile ilgili bir sorunum var.

4. sürümde her şey çalıştı ve çalışıyor, ancak beşinci sürümde istemiyor.

Belki birisi yardım edebilir.

DLL'den metni bana döndürenbir işlev çağırıyorum , sürüm 4'te metni normal ve sürüm 5 - CRACKED'de görüyorum.

DLL DELPHI (pchar fonksiyonu) üzerine yazıyorum.

Kodda, değişken dizesini atadım.

Lütfen bana yardım edin neyi yanlış yapıyorum.

 
stongbar :

Arkadaşlar konuyu sormuyor olabilirim ama benim de sürüm 5'te kütüphane ile ilgili bir sorunum var.

4. sürümde her şey çalıştı ve çalışıyor, ancak beşinci sürümde istemiyor.

Belki birisi yardım edebilir.

DLL'den metni bana döndürenbir işlev çağırıyorum , sürüm 4'te metni normal ve sürüm 5 - CRACKED'de görüyorum.

DLL DELPHI (pchar fonksiyonu) üzerine yazıyorum.

Kodda, değişken dizesini atadım.

Lütfen bana yardım edin neyi yanlış yapıyorum.

Kodlama ile ilgili bir şeye benziyor. Bir dosyanın açılış bayraklarına bakın.

open_flags

[in] комбинация флагов, определяющая режим работы с файлом. Флаги определены следующим образом: 
FILE_READ файл открывается для чтения 
FILE_WRITE файл открывается для записи 
FILE_BIN двоичный режим чтения-записи (без преобразования из строки и в строку) 
FILE_CSV файл типа csv (все записанные элементы преобразуются к строкам соответствующего типа, unicode или ansi, и разделяются разделителем) 
FILE_TXT простой текстовый файл (тот же csv, однако разделитель не принимается во внимание) 
FILE_ANSI строки типа ANSI (однобайтовые символы) 
FILE_UNICODE строки типа UNICODE (двухбайтовые символы) 
FILE_SHARE_READ совместный доступ по чтению со стороны нескольких программ 
FILE_SHARE_WRITE совместный доступ по записи со стороны нескольких программ 
FILE_COMMON расположение файла в общей папке всех клиентских терминалов

 
PChar'ı PWideChar (yardımcı olmalı) veya PAnsiChar (olası değil) ile değiştirmeyi deneyin. Yine de kodu düzeltmeniz gerekebilir.
 
notused :
PChar'ı PWideChar ile değiştirmeyi deneyin (bu yardımcı olacaktır)
Önceki konuşmacıyı tamamen destekliyorum
 
Academic :

Hata ayıklama ile ilgili sorun oldukça kolay bir şekilde çözüldü:

Aşağı yukarı şöyle:

Bir sunucu programı oluşturun

delphi için şöyle bir şey:

TcpServer bileşenini forma atın

açarken ayarlarını belirtin (localHost, LocalPort ve aktif özellik true olarak ayarlanmış)

bu bileşen, sokete veri alındığında çalışan bir işleyiciye sahiptir.

bu işleyicinin bir ClientSocket parametresi var:

text_from_client := ClientSocket.Receiveln

sahip olduğunuz metin, istediğiniz kadar hata ayıklayın

şimdi metnin nasıl aktarılacağı hakkında (bu arada, sadece metni değil, gerekirse kendiniz bulacaksınız)

Danışmanınızda bir DLL çağırırsınız ve bu DLL parametreleri belirli bir sokete iletir,

bunu yapmak için, yapılandırmak üzere TcpClient bileşenini dll'ye koyabilirsiniz (remoteHost, remotePort ve call connect )

SendLn işlevi aracılığıyla gönderme, Receiveln aracılığıyla alma

Yani hata ayıklama için sunucuyu her zaman açık tutmanız gerekecek, ancak bu o kadar da büyük bir sorun değil.

tek yapmanız gereken belirli bir sokete bilgi aktarmak için bir kez dll yazmak ve bir sunucu programı yazmak ,

Zaten yazdığınız (veya yeni yazılmış DLL) çağrılacak 30 satırdan oluşan, böyle bir şey için göstergeleri de biraz ayarlamanız gerekecek,

ancak göstergeler için böyle bir senaryo için bir şablon çizebilirsiniz,

PS, bir DLL'de hata ayıklayamazsınız, bunu yapamazsınız, hiçbir şey hata ayıklanmamış bir DLL'den ayrı bir DLL'ye veri aktarmamızı engelleyemez.

serbestçe hata ayıklanabilen bir program :)

 

mql5 :

Artık dil düzeyinde kötü amaçlı EX5'ler oluşturmak imkansız.
Vay, bu çok cesur bir ifade. :) İlginç... Peki "kötü niyetli EX5 yaratmak" deyimiyle ne kastediliyor?
 
ir0407 :
Vay, bu çok cesur bir ifade. :)
Bu kadar kötü niyetli ne yazıldı ki? ;)
 

Bu durumda, zararlılık farklı bir açıdan değerlendirilmelidir. Karşılık gelen ayrı bir çözülmüş konu varsa, tartışabiliriz

 
Interesting :

Bu, lamerler koruma yaptıysa, ancak gerçekte (koruma konusunda yetkin bir yaklaşımla) 10 ve 100 kat daha pahalıdır (zaman ve çaba açısından).

Birkaç hafta sonra, evet şimdi...

Terminalde sertifikanın nasıl değiştirileceğine dair internette zaten bir çok makale var; ağ protokolünün nasıl çalıştığı ve sunucuyla (terminal olmadan) bilgi alışverişinin nasıl yapılacağı hakkında;

her köşede API hakkında bilgi var (en azından "ticaret yapmıyor", yani bilgi analizi için); kesinlikle herkes sistem exe ve dll'sinin içinde ne olduğunu bilir (ve en önemlisi, hepsiyle nasıl çalışılacağını).

Sonuç olarak - hepimiz uzun süredir kendi terminallerimizde işlem yapıyoruz ve zavallı MQ ve DC bir rüyada değil...

Beni güldürme.

Basit bir görev - Haberleri terminale sağlayan sunucudan bir haber listesi alın. R2'de bir gün içinde çözülür, en az MT4 için bir çözüm bulmaya çalışın (peki, benzer bir deneyiminiz varsa, kendi "haber istemcinizi" yapın).

Geliştiriciler, DLL hata ayıklama olasılığının eklenmesinin olmayacağını ve neden olacağını açıkça belirtti. En azından onlardan kodlarının güvenlik sistemini kasıtlı olarak kötüleştirmelerini istemek mantıklı değil, bu hemen ex5 için bir kod çözücü yaratma girişimlerine yol açacaktır (DOĞRUDAN duyurulmuştur).

Ve ex4 hackleme tekniği burada çalışmayacak çünkü dil tamamen farklı ve nesne doldurma ex4 "hack" şablonlarına sığdırmak o kadar kolay olmayacak.

not

Haklısınız, bilgisayar korsanlığı sistemi hakkında ilgili profesyonellerle konuşmak daha iyidir. Doğru, korkarım ki bizimle bunun hakkında konuşmaları pek mümkün değil, çünkü (belki de yanılıyorum) hiçbirimiz bu alanda yetkin değiliz ...
İlginç ve İnternet'te birçok bilgi nerede sertifikanın nasıl değiştirileceği?
Neden: