

Flag: Tornado!
Hurricane!
|
 |
Topic created on: December 4, 2005 11:47 CST by MohammadHosein  .
Delphi is my favorite win32 Development env and VCL is my hero . nowadays and in my spare times i'm developing an OO VCL-based Delphi translation of IDA SDK to improve my understanding of IDA internals and contributing OpenRCE community with Providing maybe a useful thing , its a Win32 code but thanks to borland efforts its portable to .NET and after that IDA development using .NET based langs is also possible . now ~ 20% of Project is done and i'm hoping the community will have a technology preview as soon as i finish unicode issues with components i developed to speed up IDA development inside Delphi ( and Delphi 2006 is coming and i planned to study its OpenToos API to integrate IDC console and Delphi environment for Plugin Debugging purposes ) .
after this announcement i want to know your ideas , what do you think about this Project ? is this interesting to develop some GUI intensive plugins for IDA with Delphi RAD environment ? is this interesting to be able to develop IDA plugings with huge VCL class library ? or you think this is nonsense and you IDA developers keep going with C or even Python ? does anybody know of any attempts like mine ? partial or Complete ? and finally is anyone out there badly waiting for something like this ?
p.s : Steve , your IDA reference is Great , Regards :-)
|
IMHO, I think this is terribly good. Maybe C++/Python are the way to go for current small and non-visual plugins but for complex and visual intensive addons, Delphi is definitely the answer. As plugin developers move from static analysis and search/replace kind of stuff to high level apps like code graphs, colaborative code analysis, etc, a high-level, powerfull and productive language like Delphi is a requisite.
|
While, Delphi has its place in development -- I have to disagree with it being used over Python/C++. Delphi is not a commonly occurring language and there is a point where further developing for the language is, at best, ineffective.
But like anything else, different strokes for different folks. I personally do not find Python or C++ terribly more difficult to develop code graphs and collaboritive plugins in than anything else. The need to implement what most languages have as a rudimentary feature in Delphi seems to be a rather large detractor in my mind.
|
one may develop almost 'anything' in almost 'any' language(or IDE, more specifically), but my point here is 'at what cost?'. Delphi has proven to be productive in a multiplicity of app domains and bringing the IDA SDK to Delphi would surely foster plugin development exponentially.
scripting languages are usually skipped over when performance is an issue(even if they are JITC, precompiled, etc) and what you can do in Delphi with a couple dozen LOC would tipically take hundreds LOC in IDEs like MS Visual C++ (take VCL vs MFC, for instance). CBuilder is a whole different story though.
maybe Delphi is not a mainstream IDE but when it's used appropriatly the results are overwhelming. i've seen so many sucessfull apps written in Delphi that i cannot think differently.
p.s: is IDA itself written in any of Delphi or CBuilder btw?
|
one may develop almost 'anything' in almost 'any' language(or IDE, more specifically), but my point here is 'at what cost?'. Delphi has proven to be productive in a multiplicity of app domains and bringing the IDA SDK to Delphi would surely foster plugin development exponentially.
scripting languages are usually skipped over when performance is an issue(even if they are JITC, precompiled, etc) and what you can do in Delphi with a couple dozen LOC would tipically take hundreds LOC in IDEs like MS Visual C++ (take VCL vs MFC, for instance). CBuilder is a whole different story though.
maybe Delphi is not a mainstream IDE but when it's used appropriatly the results are overwhelming. i've seen so many sucessfull apps written in Delphi that i cannot think differently.
p.s: is IDA itself written in any of Delphi or CBuilder btw?
|
|
IDA GUI uses VCL so I guess it's compiled in C++ Builder.
|
IDA is absolutely not built in Delphi last I knew. Given the kernel of IDA is written in Borland C++ Builder, I am fairly safe in assuming the rest of IDA is the very much the same way.
I have seen the antithesis of your assumption, I have seen so many Delphi apps go horribly and utterly wrong that I cannot see it being used for a mainstream application. Rapid prototyping absolutely, a releasable application, probably not. The same can be said for VisualBasic, etc. Excellent for prototyping, but horrible for anything else.
Python, while a scripting language, is not the worst thing ever in terms of prototyping and actual releasable code -- seems to work quite well for Red Hat. For the most part when it comes to IDA, MFC, etc are completely ignored anyway. An outside library is called in to generally do the heavy graph lifting.
The only case I can see using anything like Delphi for an IDA Pro-esque extension would be the SABRE Security method for their graphing tools. They effectively (smack me if I am wrong Halvar) use IDA Pro as a tool rather than the direct and total interface for their program itself. In this case, Delphi might serve a very solid and valid purpose in my mind.
But once again, different strokes for different folks. Just weighing in a difference of opinion. Whatever gets the job done appropriately and in a timely manner generally satisfies me.
|
I have seen the antithesis of your assumption, I have seen so many Delphi apps go horribly and utterly wrong that I cannot see it being used for a mainstream application.
I can agree with the first part but can't see how you arrived to that conclusion. You can write such apps in about any language but that doesn't mean that the language itself is bad. Do you know that VCL (that IDA uses for its GUI) is written completely in Object Pascal? Can you say that IDA GUI has gone "horribly and utterly wrong"? It does have its issues but nobody's perfert. OTOH, I've seen some apps with amazing GUI done in Delphi (AQTime comes to mind) that would be pretty hard to do in MFC.
Anyway, I think Delphi SDK would be very useful for writing GUI-heavy plugins.
|
let me first say something about the projects state , well as you may know Borland is selling its Development stream products including Delphi so i'm staying tuned to see who is the new owner , most of IDA SDK translation to Delphi is completed , its totally based on VCL and you wont find dirty Pascal style code anywhere , Clean OO , but this translation is useless unless i manage to make the code working through a Visual Component Set including some design time experts ( wizards if i speak mfc ) to make development easier , so a hell of work is going to be done .
your comments were interesting so let me outline some parts . the most important part of this Project is VCL , not Delphi . VCL is the most powerful Framework i ever seen and i have experiences with MFC , .net and QT as well . Python , C++ or Perl are powerful languages with rich functions and classes but you cannot call them Frameworks because there is no integrity , no well-designed architecture , no full featured OO design , but yes they are all powerful and you can finish a project successfully with any of them , no doubt , but VCL is a mature and rich Framework for any aspect of a Win32 program you can imagine , and thanks to integration with good IDE's and design time development tools you can say we have a true RAD utility here , who can call Python or C++ RAD ? i'm sure you can do good Visual Projects using Python or C++ but if you are familiar with VCL you know what i'm talking about when i say "we have a True RAD utility here" , its about cost , time is money .
when i was practicing with Steve's IDA reference i decided to develop some small Plugins for IDA to understand its internal professionally , but it was very slow abd boring , i dont have a whole day free to write a simple search and replace function in pure C++ , or i dont want to search noisy web regard to find a simple working click and run WMI code in python , but using VCL and lots of open Source Components available it takes some minutes to develop a useful and well working daily code . maybe i should say this is a VCL IDA SDK , not Delphi IDA SDK , because you can use VCLs in both Delphi and C++Builder , and using Boian Mitovs VCL Bridge you can even use you VCL Components in Visual C++ ! but i should translate the SDK to delphi to make it usable for Delphi Loyal developers , so if you are a fan of CBuilder say we are having a VCL-based IDA translation , and finally thanks to a good job from Borland i can easily port this translation to .NET with nearly no modification and after that all .net developers are able to develop their ideas using the big .net , you may know that .net itself is derived from VCL model and architecture , they are using same concepts same model and in most cases even same name and namespaces ! Andre Helsberg is the father of C# was the main author of Turbo Pascal and he was working on VCL for years , you know what i'm talking about , so we can easily port this VCL-based Translation to a VCL .NET-based component set then .net fellas are welcome to IDA Development , it sounds kidish ?
and some extra points : some very big companies are using VCL based application , siemens Nokia etc , even in us army there is department using delphi for "army" applications , have a look at borland customers area , there are very very expensive projects done with CBuilder , for some examples have a look at here Friends , its kinda interesting : http://bcbjournal.org/community_letter.pdf , you will find some non-related but very interesting info there too .
Borland and "DevCo" ( the new Company technical designers ) have a clean roadmap , they will support .net 2 , Vista and native 64bit , with almost Same interface and architecture and i'm really interested in the 64bit part .
and let's remember that both of our beloved tools , IDA and ollydbg are developing using Borland VCL , their developers are smart , not stupid :)
finishing translation i'll release a preview to the community maybe using sourceforge or a dedicated project mage here then developers can participate and make it mature and strong , maybe the new owner of Borland beloved tools makes some more good news .
Regards
|
Let me clarify -- I am in no way bashing VCL. VCL is solid, having used it sparingly over time, it trumps MFC. I just am not a fan of Delphi for a host of reasons, but clearly that's me :)
Mohammad clarified one of my overarching concerns, the future of Delphi and more importantly VCL. I neglected to interject that previously and thank him for that point.
Either way, the work being done will benefit the RCE community as a whole and to that end we all benefit.
|
|
Long time with no update. caviola, are you working :-) we all are expecting your great delphi vcl sdk!!!
|
what delphi vcl sdk? do you mean the IDA SDK for Delphi that MohammadHosein is writing?
|
Note: Registration is required to post to the forums.
|
|
 |
|
There are 31,328 total registered users.
|
|