• Welcome to Valhalla Legends Archive.
 

CRC checking executable's running code

Started by tA-Kane, July 24, 2005, 11:29 PM

Previous topic - Next topic

Kp

Quote from: tA-Kane on September 16, 2005, 11:25 PMA CRC check is also quite a bit simpler than inline function encryption/decryption, in my opinion. If you know of a rather simple (and free) method of doing such with varying start and end encrypted regions and varying degrees of encryption levels (eg, whether using different keys, different length keys, or even different algorithms  for different regions) and still maintains a decent runtime speed to the end-user on very old machines, then please be my guest and point me in the right direction. Searching google for this kind of information would take a lot of time and effort in the best case, especially since I doubt what I specifically want already exists and is free.

Skywing wrote quite a bit of code along this line several years ago.  If you can find him and get his OK for it, I can make it available to you.  He may want to keep some/all of it secret though, since at least parts of it ended up in BinaryChat's anti-leak design.
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!

rabbit

Grif: Yeah, and the people in the red states are mad because the people in the blue states are mean to them and want them to pay money for roads and schools instead of cool things like NASCAR and shotguns.  Also, there's something about ketchup in there.

UserLoser.

Quote from: Kp on September 17, 2005, 04:25 PM
Quote from: tA-Kane on September 16, 2005, 11:25 PMA CRC check is also quite a bit simpler than inline function encryption/decryption, in my opinion. If you know of a rather simple (and free) method of doing such with varying start and end encrypted regions and varying degrees of encryption levels (eg, whether using different keys, different length keys, or even different algorithms  for different regions) and still maintains a decent runtime speed to the end-user on very old machines, then please be my guest and point me in the right direction. Searching google for this kind of information would take a lot of time and effort in the best case, especially since I doubt what I specifically want already exists and is free.

Skywing wrote quite a bit of code along this line several years ago.  If you can find him and get his OK for it, I can make it available to you.  He may want to keep some/all of it secret though, since at least parts of it ended up in BinaryChat's anti-leak design.

Which BinaryChat?  Because I know some people who cracked some old binary ZeroBot and BinaryChat 2.00 :P

TheMinistered

An older version of binary chat was defeated by zorm, mainly.  I helped a little but wasn't much interested-- if you want a similar version of skywing's protection then i'll post it in a couple days, I just need to find the cd.

tA-Kane

I'm interested ... but if it's derived from someone else's source code (even, especially, via disassembling a private executable), I don't think I should accept it without authorization from the origional author.
Macintosh programmer and enthusiast.
Battle.net Bot Programming: http://www.bash.org/?240059
I can write programs. Can you right them?

http://www.clan-mac.com
http://www.eve-online.com

Arta


rabbit

Grif: Yeah, and the people in the red states are mad because the people in the blue states are mean to them and want them to pay money for roads and schools instead of cool things like NASCAR and shotguns.  Also, there's something about ketchup in there.

tA-Kane

Quote from: Arta[vL] on September 20, 2005, 12:27 PM
What is your goal in these endeavours?
1) Learn (advanced programming techniques are an interesting read for me)
2) Protect (help protect the program I'm working on against unauthorized use and/or deviations from its intended use)
3) Assist (others could benefit from the knowledge gained here)
Macintosh programmer and enthusiast.
Battle.net Bot Programming: http://www.bash.org/?240059
I can write programs. Can you right them?

http://www.clan-mac.com
http://www.eve-online.com

Arta

Well, 1 & 3 are great, but 2 is a waste of time :)

Nonetheless: I don't see the value in a CRC. Once you've generated it, it'll come down to "if(CRC != what I'm expecting) quit" - which is trivially bypassed. Strong encryption of your code is the only way to go.

tA-Kane

Why quit? That's so obvious. I was thinking more along the lines of if (CRC != what I'm expecting), introduce specific bugs into the program.
Macintosh programmer and enthusiast.
Battle.net Bot Programming: http://www.bash.org/?240059
I can write programs. Can you right them?

http://www.clan-mac.com
http://www.eve-online.com

Arta

Well, ok, but whatever you do won't be very hard to crack, is my point. Strong encryption, on the other hand, could be.

Blaze

Could you explain a method of Strong Encryption Arta?  I can't seem to think of anyway but what you just said sucked (I agree, btw).
Quote
Mitosis: Haha, Im great arent I!
hismajesty[yL]: No

rabbit

CRC code and then UPX?  Not sure if it will work, never tried it.
Grif: Yeah, and the people in the red states are mad because the people in the blue states are mean to them and want them to pay money for roads and schools instead of cool things like NASCAR and shotguns.  Also, there's something about ketchup in there.

Arta

Encrypt your exe and decrypt it, or sections of it, at runtime, a la BC. Note that this isn't uncrackable either, but it's harder to break.

UserLoser.

#29
Quote from: rabbit on September 22, 2005, 07:10 PM
CRC code and then UPX?  Not sure if it will work, never tried it.

UPX? What's the point of using public compression when you can just decompress it via "upx.exe -d yourbot.exe"

Quote from: Arta[vL] on September 22, 2005, 07:16 PM
Encrypt your exe and decrypt it, or sections of it, at runtime, a la BC. Note that this isn't uncrackable either, but it's harder to break.

Yeah, but BC is also scrambled at the specific sections and must be descrambled before decrypting which makes it even more complicated.  But yeah, a method like this is really good and could take a while to crack

|