5 ms·
I remember, as a kid, looking up examples of malware. Bots and trojans and such. Invariably, much of it was in Delphi. Why was this so?
by jollyllama 4y ago
I remember, as a kid, looking up examples of malware. Bots and trojans and such. Invariably, much of it was in Delphi. Why was this so?
- vbezhenar 4y agoSimple low-level language, high-quality IDE. Why not.
- jsmolka 4y agoCalling RAD Studio a high-quality IDE seems like a stretch to me. I would choose VS Code or a JetBrains product any day of the week. Unfortunately you a kinda stuck with it when developing in Delphi.
- jollyllama 4y agoI think the .net ecosystem, as a higher level language, was probably less fit for the task.
- rndgermandude 4y agoWhen I started using C++Builder (and some Delphi), .net did not exist
- mhd 4y agoI would assume that "as a kid", when malware was written in Delphi, those weren't really options. (And VS of that era was rather meh...)
- jollyllama 4y agoYeah, I'm referring to the late XP / early Vista era.
- croes 4y agoMaybe RAD Studio isn't a high quality IDE but at least it is an IDE. VS Code isn't.
- badsectoracula 4y agoI remember being a little impressed when in some version of C++ Builder i used a symbol from another source file and when i pressed Ctrl+S to save it, the editor automatically added the necessary #include file at the top. This is the mark of an IDE that actually knows the language it is editing. The closest i've seen elsewhere is QtCreator littering the code with red error messages about the unknown symbol while i'm typing the code together with a lightbulb next to the line with it which, if i click on, it adds the #include. From a technical perspective the ability seems to be there, it just doesn't feel as smooth and seamless. Not to mention all these errors that appear while i'm typing make me anxious - like, STFU, i know the code is wrong, i'll fix it once i finish typing this part :-P.
- Tarucho 4y agoIn the 90´s, early 00s, when it was used for troyans and malware a lot.
- bikingbismuth 4y agoNot sure why, but when I worked for a large fintech a couple years ago, we regularly saw banking Trojans built in Delphi.
- jollyllama 4y agoYes, that's exactly the kind of thing I was talking about.
- thijsvandien 4y agoMostly because it builds self-contained executables that are virtually guaranteed to work. Nowadays this is much less of a thing, but we are talking about the day and age of DLL Hell.
- optymizer 4y agoAt least in the ex-soviet countries, a lot of the legally-questionable software we used to write was in Pascal because that's what we learnt in school. It was an easy transition to go to Delphi - nice RAD IDE for GUI RATs or keygens/cracks, familiar OO language.
- jollyllama 4y agoMakes sense. Thanks.
- jhbadger 4y agoEven in the West, Pascal was the standard teaching language even in the late 1980s -- my undergraduate classes and textbooks all used it.
- aidenn0 4y agoI took the AP CS test in 1996 and had to learn Pascal for it. They switched to a different language either in '97 or '98 though (C++ I think?).
- jollyllama 4y agoI think so. By the late 2000's, it was Java.
- jamal-kumar 4y agoMost Delphi examples I see these days are actually modern, recently written malware samples. It statically compiles into a tiny binary which has a weird ABI which flies under the radar of AV software looking for programs up to no good. What's not to love for this purpose if you are an adversarial actor? The vega/buran strain of ransomware malware comes to mind as a well known example from the past few years [1] [1] https://www.acronis.com/en-us/blog/posts/meet-buran-new-delphi-ransomware-delivered-rig-exploit-kit/ https://www.acronis.com/en-us/blog/posts/meet-buran-new-delp...
- CRConrad 4y ago> Most Delphi examples I see these days are actually modern, recently written malware samples. It statically compiles into a tiny binary which has a weird ABI which flies under the radar of AV software looking for programs up to no good. What's not to love for this purpose if you are an adversarial actor? And recently lots of malware detection has started looking for that "weird" ABI signature, so now everyone's anti-virus is throwing up alarms at perfectly legit age-old software just because it's built with Delphi.