AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

zu wenig arbeitsspeicher?

Ein Thema von Lyan · begonnen am 28. Sep 2012 · letzter Beitrag vom 30. Sep 2012
Antwort Antwort
Lyan

Registriert seit: 5. Aug 2011
188 Beiträge
 
#1

AW: zu wenig arbeitsspeicher?

  Alt 29. Sep 2012, 18:24
Ich habe irgendwie das Gefühl, daß Du einen String als Container für etwas ganz anderes mißbrauchst.

Wie wäre es wenn Du eine etwas weniger kryptische Beschreibung erstellen würdest?
Oder vielleicht uns einmal ein paar der sehr langen Strings zeigen würdest?

Gruß
K-H
Klar, hab dir zu liebe dir sogar den kompletten String auf meinem Server hochgeladen:

http://aciid.org/img/langerstring.txt



Resource mag ich nicht, wird als virus anerkannt. das hatte ich nämlich vorher

Abseits vom Thema:
Delphi ist sowieso strange, wieso wird ein leeres Delphi-projekt überhaupt als virus erkannt? komisch.

Geändert von Lyan (29. Sep 2012 um 18:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.199 Beiträge
 
Delphi 12 Athens
 
#2

AW: zu wenig arbeitsspeicher?

  Alt 29. Sep 2012, 18:31
Sicher daß die OutOfMemory-Fehlermeldung zu Laufzeit kommt und nicht etwa doch schon ein "zuviele lokale Konstanten" vom Compiler?

Nja, warum meckert da wohl der Virenscanner? (da ist doch hoffentlich nichts "böses" drin?)

PS: Du hast doch nicht etwa auch versucht den "String" so "kodiert" in die Resourcen gepackt?
Wenn ja, warum steckst du sie denn nicht einfach mal dekodiert dort rein? (das spart sogar Speicher)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (29. Sep 2012 um 18:39 Uhr)
  Mit Zitat antworten Zitat
Lyan

Registriert seit: 5. Aug 2011
188 Beiträge
 
#3

AW: zu wenig arbeitsspeicher?

  Alt 29. Sep 2012, 18:40
Sicher daß die OutOfMemory-Fehlermeldung zu Laufzeit kommt und nicht etwa doch schon ein "zuviele lokale Konstanten" vom Compiler?

Nja, warum meckert da wohl der Virenscanner? (da ist doch hoffentlich nichts "böses" drin?)

PS: Du hast doch nicht etwa auch versucht den "String" so "kodiert" in die Resourcen gepackt?
Wenn ja, warum steckst du dann nicht einfach mal dekodiert dort rein? (das spart sogar Speicher)
Also der String ist z.Z. rc4(base64(string)). Als ich noch mit Resource arbeitete, hatte ich base64 weggelassen. Da mein Tool einen Source-Code droppt, hab ich wegen copy-save base64 genommen(agesehen davon, dass nun keine unicodezeichen mehr in dem Source drin sind, die eh nicht als String angesehen werden^^).
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.366 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: zu wenig arbeitsspeicher?

  Alt 29. Sep 2012, 18:33
Ressource oder Text, beides wird als Text in der Exe gespeichert. Da musst du dein Programm einfach als False Positive an den Antivirenhersteller melden.

Delphi ist sowieso strange, wieso wird ein leeres Delphi-projekt überhaupt als virus erkannt? komisch.
Das ist z.B. bei Antivir , Norton (das ich selbst nutze) und AVG teilweise so. Das liegt aber an den Antivirenherstellern, nicht an Delphi. Die Projekte ähneln sich nun einmal, da der Quelltext der delphieigenen Units in allen enthalten ist.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.199 Beiträge
 
Delphi 12 Athens
 
#5

AW: zu wenig arbeitsspeicher?

  Alt 29. Sep 2012, 18:43
da der Quelltext der delphieigenen Units in allen enthalten ist.
Das hoffe ich mal nicht. Aber ja, die kompilierten Codes der RTL/VCL sind fast immer enthalten.

Nja, zuviele Trojaner wurden mit Delphi erstellt und es gibt zuwenige große Delphiprojekte, weswegen die Heuristiken ein bissl zu allergisch reagieren.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Lyan

Registriert seit: 5. Aug 2011
188 Beiträge
 
#6

AW: zu wenig arbeitsspeicher?

  Alt 29. Sep 2012, 18:54
Wird erkannt ->


Delphi-Quellcode:
function GetResources(pSectionName: PChar; out ResourceSize: LongWord): Pointer;
var
  ResourceLocation: HRSRC;
  ResourceHandle: HGLOBAL;
begin
  ResourceLocation := FindResource(hInstance, PAnsiChar(pSectionName), RT_RCDATA);
  ResourceSize := SizeofResource(hInstance, ResourceLocation);
  ResourceHandle := LoadResource(hInstance, ResourceLocation);
  Result := LockResource(ResourceHandle);
end;

function GetResourceAsString(pSectionName: pchar): string;
var
  ResourceData: PChar;
  SResourceSize: LongWord;
begin
  ResourceData := GetResources(pSectionName, SResourceSize);
  SetString(Result, ResourceData, SResourceSize);
end;

Ich habe gehört, es bringt was, die WindowsAPI-Funktionen dynamisch zu callen. Daran bin ich leider auch gescheitert. Vlt. kann mir da einer helfen?

Hab den Source leider nicht mehr, da ichs aufgegeben hatte, aber so in etwa:
(Ich machs nur an einem Beispiel fest)

Delphi-Quellcode:

var xFindResource : function(hModule: HMODULE; lpName, lpType: PChar): HRSRC; stdcall;

procedure loadlibrary;
var
  h32 : THandle;
begin
  h32 := LoadLibraryA('kernel32.dll');
  @xFindResource := GetProcAddress(h32,pchar('FindResource');
end;

Das die Strings "kernel32.dll" sowie als auch "FindResource" nicht plain im Source stehen (weil da die AV-Hersteller auch direkt alarm schlagen), hatte ich damals noch via RC4 diese Strings kodiert.

Was mache ich aber da falsch? So hat es nicht geklappt.

Geändert von Lyan (29. Sep 2012 um 19:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.199 Beiträge
 
Delphi 12 Athens
 
#7

AW: zu wenig arbeitsspeicher?

  Alt 29. Sep 2012, 19:13
Ich habe gehört, es bringt was, die WindowsAPI-Funktionen dynamisch zu callen.
Da in deinem Programm eh schon Resourcen verwendet werden und sich der Virenscanner eher an der Resource und nicht an der Ladefunktion stört ... was soll das bringen?

Delphi-Referenz durchsuchenTResourceStream

PS: AV-Scanner reagieren eher auf etwas allergisch, wenn man versucht dieses zu verschleiern.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Lyan

Registriert seit: 5. Aug 2011
188 Beiträge
 
#8

AW: zu wenig arbeitsspeicher?

  Alt 29. Sep 2012, 19:30
Mein kollege hat in c# nen test gemacht:

16777214 Zeichen PRO Zeile! 2^24-2

Arbeitsspeicher hat er der VM nur 128mb gegeben(unter winxp) und hat einen 32mb string kompiliert!
Wieso hat Delphi so krasse probleme

Geändert von Lyan (29. Sep 2012 um 20:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.366 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: zu wenig arbeitsspeicher?

  Alt 29. Sep 2012, 21:50
Warum sollten die Delphientwickler auch Zeit darauf verschwenden eine Funktion wie diese zu ermöglichen, über die vielleicht 0,001% der Nutzer auch nur nachdenken würden sie zu benutzen und das auch (hoffentlich) nur weniger erfahrene Entwickler?

Da sind sinnvollere Features schlicht wichtiger.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: zu wenig arbeitsspeicher?

  Alt 29. Sep 2012, 23:42
Wieso hat Delphi so krasse probleme
Evtl. mal mit einer Delphi-Version probieren die nicht schon 10 Jahre auf den Buckel hat.
Wenn schon eine fairer Vergleich dann solltest du VS.NET 2002 mit .NET 1.0 ausprobieren. Ist von dem Release-Datum ebenbürtig.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz