Dependency Walker Equivalent for 16 bit DLLs - dll

I need to find the dependencies and functions of a 16 bit DLL file. I've found Dependency Walker and it looks immensely helpful, but it doesn't work on 16 bit DLLs. Does anyone know of a good alternative that will?

You can try SCANBIN, looks like it does the job, and webpage comes straight from the 90's.

Related

How to decompile an exe or a dll to assembly

I am really interested in assembly language and I want to learn about how exe files work how dlls run etc... and I have an idea of writing an application to decompile an exe to assembly code since i am not a very good assembly programmer and with the lack of knowledge of the inner working of exe I couldn't do it. Since I can read an exe in hex i think it is not impossible but I don't know how to write my own program. Any resources or any help would be appreciated.
I think you're looking for a disassembler not a decompiler. IDA pro seems to be popular and you can download an older version for free at http://www.hex-rays.com/idapro/idadownfreeware.htm
There are a lot of dissemblers already written for you (see above), but I don't think reading disassembled code is going to help you become a better assembly writer. The main reason for this is that compilers do A LOT of optimization before they generate assemblies. Often this makes for very tricky code to read but highly efficient code to analyze.
If you're interested in what a compiled program looks like at the a assembler level a much more meaningful approach would be compile and look at the generated assembly. For example with gcc/g++ this just requires gcc -c -S filename.c and will leave a clear text assembly file to look at.
Take a look at this Decompilation Wiki, I suspect it will answer most of your questions.

wxWidgets for Ada?

In Lua-scripting I found wxWidgets (wxLua) library very useful, so I'd wanted to found binding for Ada and GNAT Programming Studio 2010 (4.4.1) - does it exist at all and maybe somebody know how to link it with GNAT?
Only one I found is wxAda, which is about 5 years old and without any hyperlinks to load it.
I'm the author of wxAda and tbh, it's a dead duck as it currently stands. I am looking at the moment at a revival by generating the source automatically.
Luke.
Well, the URL you are probably looking for is wxada.tigris.org, but it says right there it is incomplete. Most likely that's the best you are going to get without doing the work yourself.
From the discussion of his problems here it looks like he had solvable issues.

ReSharper API... Uh... where is it?

Ok I must be having a blonde moment, but for the life of me I can't find where to
download the ReSharper API, to use with the project I got from here.
Any help or links would be greatly appreciated.
Api information:
http://www.jetbrains.com/resharper/features/open_api.html
You mostly need to reference various DLLs in the bin directory of the Resharper folder, then you can get started playing around.
If you don't have a license to the product, that would be an obvious prerequisite.
Edited to add:
Here's some ancient documentation, which may get you somewhere:
http://www.jetbrains.com/resharper/documentation/help20/Introduction/openapi.html
And the developer forums:
http://devnet.jetbrains.net/community/resharper/resharper_eap
And occasional tutorials on their blog:
http://blogs.jetbrains.com/dotnet/
It's not really great documentation, but you probably will have at least a little bit of help from Xml Doc comments.
You can look at sources of ReSharper PowerToys, open sourced examples of small features done with Open API.

How do I expose erl_interface (Erlang's C library) through a DLL?

I've been working non-stop for the last three days on a completely managed interface to Erlang. At this point, I've decided that there simply must be an easier way. I've got a little over 3000 lines and it's not even in a compilable state yet. To be honest, I'm getting lost in my own code.
So, I then remembered that Erlang has a C library called erl_interface. Unfortunately, it only comes as a .LIB file, which isn't usable via P/Invoke. I'm now investigating ways to expose the static library through a DLL.
I'd like to stay away from Visual C++, mostly because I'm not a C/C++ programmer by nature and I find it really difficult to configure. TinyC is my compiler of choice when working with anything in C.
How can I go about this?
I know I can link erl_interface to a DLL, but how can I expose the functions? Do I have to essentially wrap each and every one of them in my own exports? That probably won't be a problem, since I could write a script to generate the code from the header file. But is there an easier way that I just don't know about?
Also, please don't recommend OTP.NET. It's a nice library, but I'm looking to use this is a large project, so I'd like to keep it in-house.
So, your problem is one of turning a static lib into a dynamic one.
The least-effort solution would be to write a thin shim file in 'C', that just delegates to the files in the .lib e.g.
ReturnType my_method1(args...) {
return real_method1(args...);
}
...
and build a DLL from that and the static lib.
Afterthought -- There is another approach you could take -- which is build the .lib into a C++/CLI assembly and do the transition/wrapping in that. It's what C++/CLi is there for, after all.
If you want some help with interfacing to Erlang with C, have a look at "EPAPI" (Erlang Port API) link text. You can of course browse the source code since it is hosted on Google Code. A DEBIAN repository is also available.

Is Netbeans a good IDE for C/C++ nowadays?

I searching for and IDE that gives me a (mostly) uniform experience on Linux/Windows and C/C++ and Java. I'm somewhat comfortable with using Netbeans on Windows and I'd like to know what to expect of it on C. I heard the Visual Studio debugger is quite good on C, does this extend to Mono? Is it really more powerful than the one on Netbeans?
I've been using NetBeans for C++ development on Linux for the last month or two and love it. I'm working on an large code base 1+million lines of code. As long as your project references appropriately, I've found that NetBeans will provide "intellisense" information with hardly any issues. Now, it's not perfect, and is definitely not as good as Java, but I've not found a better alternative. NetBeans debugger, which is a front-end to gdb, works well also. Much easier, and in my experience more stable than DDD. I've not tried Mono projects using NetBeans so I can't speak to that.
This link explains how to setup a C++ project in NetBeans and may shed more light on the subject for you. This is for NetBeans 6.7 NetBeans C/C++.
Eclipse CDT is quite usable as well
you can use codeblocks it is also a well and exceptionally good for c/c++.
I don't think so, since it consumes extreme amounts of memory and can hog your CPU completely if you have a lot of projects open. It actually uses every bit of CPU it can if it feels for it, and it does so for a long time, rendering the whole application useless. This is of course completely unacceptable for a modern UI application. It also feels kind of sluggish.
Because of this I switched to Visual Studio Code for Linux. It's not a full blown IDE but I don't need that anyways. I'm not in the "flow" of it yet, but I think it has potential.
The problem of VS C++ is don't have intellisense. Netbeans C++ is a good product. But i suggest DevC++ editor, its free and come with lot of pluggins and intellisense.