Log in

View Full Version : open source tools


neutrino
November 8th, 2002, 02:35
i think that reversers are a community, people that help other people having fun, and specially learn new and interesting things on hardware and software.
I'm a linux user and programmer, where 99% of programs are open, and my question is:
why a lot of tools written by you comes without source code?
I have also read bad things in some threads like "private plugins" etc...
I think that a piece of source code could clarify things more than 2000 posts.
Bye.

Kayaker
November 8th, 2002, 05:53
Hi

I tend to agree with you. Though I can see several possible sides/explanations to the issue. It's funny you ask that question because I've been thinking of exactly that the last few days. I'm in the process of coding a little RE app, unique but benign, nothing better or nothing worse than many floating around, which I was planning to release with source. I have learned much from studying other peoples sources and always appreciate it when they do release it, that I like to respond in kind.

I decided to look at another little lame-ass app that I knew might have some similarities and thought it was actually stupid that they went to such lengths to "hide" how they coded a fairly basic app. Nothing special, just calling all APIs with indirect calls to LoadLibrary/GetProcAddress. "What's the use?" I thought. On the other hand, coding something this way IS part of the mystique and fun of RCE. More likely however, it was done to raise the "l33tness" of their code ("Ooh, I have no idea how you did that, you must be a really good l33t coder. Phear me!", or they didn't want some "lamer" ripping off their code.


There are degrees of 'open-source' as well I feel, at least to any competent reverser. Simply not releasing the source, but not purposely trying to obfuscate or protect the code, I'd call 'partial' open-source. That depends on the complexity of the program of course. Then there's something like Icedump, the ultimate complex, ultimate open-source example. It doesn't need to 'hide' anything because it exposes nothing without serious study and gradual understanding.

Then there's the concept of wanting to hide how RCE apps work from the "bad" guys (that'd be the shareware programmers and protectionists). A questionable attitude at best, but I guess it's all part of the cat and mouse game that actually works in both directions. Good protection leads to good deprotection RCE app leads to modification in protection --> modification in RCE app -->..--> private plugins -->??


Another reason not to release source I can somewhat understand is that it takes a bit of work to release somewhat *useful* source with comments. Often you code things during a frenzied session and forget yourself what the hell you were thinking of at the time, but hey it works ;-) Some people may not want to release because it 'exposes' their shitty programming skills to the world at large (see 'raising the l33tness factor' above). Or maybe simply they just don't want to or just don't care, the app was written to do a job, nothing more, and telling people how you did it doesn't enter into the equation.

Whatever the reasons, I respect the decision, it IS their code after all and they can do what they want with it without justification. I know nothing about the attitudes in Linux programming, but it seems that it's more involved with the *development* of an OS + programs, and is a relatively new and expanding field. I can understand the attraction to those who crave for something new and exciting. A lot of RCE however, at least at this level, seems to be locked into the life and death struggle between shareware and those who want to crack shareware.

Open source is nice when it's there, and helps if you're trying to learn a new language (be it ASM, C or whatever). In terms of 'techniques' then you just have to work at it a bit more, often learning as much or more than if the answers were simply laid out in front of you.

Interesting question Neutrino.

Regards,
Kayaker

ZaiRoN
November 8th, 2002, 10:04
Quote:
Some people may not want to release because it 'exposes' their shitty programming skills to the world at large (see 'raising the l33tness factor' above)


For this they should leave the source code. I think that one of the best manners, to increase the experience, is the comparison with the others.

ZaiRoN

Kayaker
November 8th, 2002, 10:48
You're right Zairon, what I meant really was that they might *think* their programming skills are crappy, and if they don't feel confident enough to release the source they might feel 'exposed' if they do. Hence rather than sharing their code, they hide it.

I don't really think that *anyone* who can code even 1 line of code is a shitty programmer, much the opposite actually. Coding is a skill to be learned and an accomplishment to be proud of when you do. I'm certainly not knocking anyone who programs even the most basic app. I'm a perpetual newbie to coding and learning every day, and certainly don't consider myself an accomplished or leet programmer. One thing about sharing your code though I think is that it does entice you to improve it to the best of your abilities

Kayaker

Aimless
November 8th, 2002, 13:58
No one works for free...

Good software does not fill your stomach...

No code released is a chance to earn money...

Who wants to pay for a system that has source code pasted all over?

Who wants to have a virus writer create a software that looks exactly like yours, having a dangerous virus inside? How'd you know the difference?

Charity is best left for the rich...or the mad geniuses...

Linux? Open source!!

Sure, that's why the new versions are coming out with an "economical" package of $30 (for 8 CDs and help manuals included...throwing in support too). Is this not how the commercialization begins...?

Surprisingly, people do write GOOD software. Our attitude is what is required to give us confidence to tackle the tough ones. Hence statements like ..."Stoopid protection" or "my mother could take that out during breakfast..." and so on.

Have Phun,

nikolatesla20
November 8th, 2002, 15:05
Maybe it was just late where you live when you wrote that but I still dont get the point. If you read it it doesn't make sense - are you for or against open source?

By the way this is WRONG FORUM!

-nt20

nikolatesla20
November 8th, 2002, 15:18
I the spirit of open source !

Even though I know most people won't give a crapola about this program here are the sources for "First_Thunk", my dumped IAT repair tool.

Yes, there are some nice comments in the code but please don't bash me for that goto that I abused in an infinite loop ! hehehe.

It's written in Delphi 6 (pascal).

-nt20

squidge
November 8th, 2002, 16:09
Yup, I'll be partly open-sourcing my process dumper soon. I say partly as I will not be open-sourcing the crypkey parts of the source for obvious reasons. It should work with minimal modifications without the crypkey code however.

Bengaly
November 8th, 2002, 21:41
hi,
i think that source code is important untill it comes to some parts where the author had worked hard to get what he wanted.
of course sharing source code increases the amount of knowledge for those who really learn from it!
the way some people think about source code wont be changed, some will say its good, or bad..
eventually if someone tried hard he can acomplish the same job without the source code.
the best would be to share the source code with some other coders who you know will help reduce the amount of bugs, leaks..whatever.
no one can expect his code to be perfect!

since its the Tool of the trade section, i'll put a small reMake of an old win32asm (coded by savage/pC) done by me and friend in VC++ about mouse hooks.
a simple Password (*****) unMasker when directing mouse over editbox.
source code included for others to learn from.

though it may be useless now days, claming software for your own gain that has been done by others is very selfish.
do not distribute software done by others without permission, this should keep the balance between those who dont care and those who care.

i'v spoke too much...
i am usually tend to read at this forum and not much talking
if i find something interesting other than unpacking here, let me know

p.s
Kayaker,
gotta love ur replys!

Zero
November 8th, 2002, 22:14
Quote:
why a lot of tools written by you comes without source code?

well...
sometimes the application is not very interesting.
sometimes the source code will shock you, because it is only a fast-hack-code.

There are many possibilities to NOT publish your source... or do YOU really publish everyting you have coded in you life ??

I donīt think that anybody here will prevent you to look into a special source... but maybe the coder just want to see that you are not a lamer but you are really interested to develop this special tool.....

neutrino
November 10th, 2002, 02:27
i'm very happy that some other thinks like me.
Zero, i spend most of my spare time in coding open source programs for linux.
The amount of knowledge that i have gained from reading other's source code is invaluable.
i quote backorifice2000 as an example of an excellent open source program.

regards.
neutrino