Question

So I was thinking that it might be nice to be able to write an application in VB .NET (since it's easy to use and learn) and compile it to native code for faster execution (and so I don't have to worry about the .NET runtime being installed, and to prevent decompilation to MSIL -- I realize native code can be decompiled and such, but it isn't as easy as MSIL since it is quite easy to decompile MSIL to recognizable source code). A tool like this exists (http://www.remotesoft.com/linker/ ) but it costs $1249 for a license that allows 1 developer to use the tool, and $2219 for a license that allows 2 developers to use the tool.

I know that there is a free Delphi IDE called Lazarus... So I was thinking it wouldn't be too hard to write a program that converts simple programs to Object Pascal which can then be compiled to native code. Obviously it would be very difficult and time-consuming to re-write the whole .NET Framework, but basic stuff wouldn't be too hard.

Assuming I was able to accomplish this, would there be any market for this? I wouldn't really be looking to make much money; I'd probably sell the program for $0.99 just to help cover hosting costs.

Link to comment
https://www.neowin.net/forum/topic/1043201-could-this-be-done/
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Conversion between languages with brute force, statement by statement, would probably not be an overly complicated thing.

But why not use Lazarus to begin with? If basic functionality doesn't give you the things you need, there are many quality components and units (on Torry) that, afaik, can be converted with Lazarus itself and work well enough.

That said, there's always market for every crud if the marketer is good enough.

  • 0

Is there a market? Not really.

Your intended goal is to make it harder to reverse engineer MSIL compiled programs (C#, VB.NET, F#, etc.) and that capability already ships with Visual Studio in a light form (and has since .NET 1.0) via Dotfuscator Community Edition. There is a paid version of Dotfuscator too that supports more features as well.

So, there is a market for tools that can help a programmer to make reverse engineering his software harder, but there isn't a huge market for taking it through major hoops to get there. Obfuscation is pretty standard fare on .NET and Java (both are IL based platforms) for a reason (by using the same underlying framework and just doing alternations that don't affect the way the program actually executes you reduce your chance of introducing new bugs that are hard to find).

As a result, I would recommend you look at tools like Dotfuscator and see what you could realistically do better. But most devs won't want a language conversion then a recompile to be added to that process. As there are just too much room for new bugs that they aren't responsible for. Also, the "pain" of running the .NET Runtime have really subsided as Windows Vista and 7 ship with .NET out of the box. Users have no clue when an app uses the runtime and really don't care either way.

This topic is now closed to further replies.
  • Posts

    • Anyway to download these versions without being on the Experimental builds?
    • Nothing is stopping you from continuing with your testing cadence. If updates are released every 2 weeks instead of 4, and you test once every 4 weeks, the exact same amount of patches will still be available for you in those 4 weeks. For example: Before 4th week - patch 1, 2, 3, 4 After 2nd week - patch 1 and 2 4th week - patch 3 and 4 Still the same amount after 4.
    • Everyone else has said it. I'm gonna say it - you don't know what you're talking about. I do. I have two laptops. One work, one personal. I have access to two more laptops - both personal. At home I manually update my personal laptop when I see on Neowin that there is an update - I carry on and only apply the updates when I am ready. My work one only updates when my workplace decides to send it - I carry on and only apply the updates (when they actually arrive, which is usually days after the release) when I switch off the laptop at the end of the day as usual. The two other personal laptops only get updated when I get to it which is rarely - the people who own them carry on using them until I get to it and update them. All of the browsers on all laptops are configured to restore the tabs when launched. Google and Microsoft have changed from 6 weeks to 4, and it looks like it's going to move to 2. None of these changes affect how any of these browsers on the laptops are used. Not one jot. My advice to you is stop panicking whenever you see an update. Just carry on with what you're doing. This even benefits you in a way - from your comment you sound like you don't like the changes or the frivolous new features - great - then carry on as before!
    • AMAZON needs to take total accountability for this.
    • Server Summit had a heap of announcements, ADCS changes are baller.
  • Recent Achievements

    • Week One Done
      Jeroen Wilms earned a badge
      Week One Done
    • Week One Done
      rolfus earned a badge
      Week One Done
    • One Month Later
      Leroy Jethro Gibbs earned a badge
      One Month Later
    • Conversation Starter
      flexorcist earned a badge
      Conversation Starter
    • One Month Later
      AndreaB earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      509
    2. 2
      +Edouard
      198
    3. 3
      PsYcHoKiLLa
      138
    4. 4
      ATLien_0
      90
    5. 5
      Steven P.
      80
  • Tell a friend

    Love Neowin? Tell a friend!