473,387 Members | 3,820 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

Encrypting modules..

So I wrote a custom importer in C that loads in encrypted files,
decrypts, then unmarshals them and loads them as modules, there is
also a quick little compiler to generate our encrypted modules.

Works pretty good. The intention is to distribute python modules and
limit access to the source.

My question now is, from the interpreter can a user extract the
bytecode from a loaded module (which could then be written to a file
and 'decompyled')? If so, any effort I put into an encrypted module
loader has gone to waste (only 2 hours and worth the time to learn
about custom importers). I don't mean to bring up an old thread about
hiding source, but searching google for getting bytecode from an in
memory module didn't bring up much.

If this is the case, is the only alternative to hack up the
interpreter and the bytecode in generates/reads? Building python is
part of our build/distribution process so it would not be that big of
a deal.

Thanks!
Jul 18 '05 #1
1 1244

<jb****@yahoo.com> wrote in message
news:87************@syn.codemonkey.net...

If this is the case, is the only alternative to hack up the
interpreter and the bytecode in generates/reads?


... Which will not stop any dedicated reverse engineering for very long and
probably trigger subtle bugs in extention modules because people will have
made assumptions about how the interpreter works. In any case, it blows up
when the user upgrades Python which will piss the users off (or maybe not:
Java is still around ;)

It would be easiest to stick "the secret bit" on a secure server and access
it via Pyro;

A little harder to stick "the secret bit" in an C/C++ extension module.

In both cases, of course, one can see the interface and the protocol it uses
and "route around the damage" i.e. provide a module that does the same but
is unemcumbered by IPR.

Jul 18 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

7
by: steve | last post by:
Hi, I know there are a few free and paid php source code encryption scripts around. Has anyone used one, and any feedback? I am interested in encrypting source that is placed on a remote host....
12
by: kimi | last post by:
Hello, I am running Microsoft SQL Server 2000 on a Windows 2000 Sever. I have been working with SQL Server, Building ASp WebSites for many years now. I am by no means an expert - nor have I had...
3
by: Piotr | last post by:
MS has published on its sites javascript encoder, which enables "encrypting" javascript code. It allows hiding js code from being seen as a text file. There is a decoder for it, available in the...
6
by: Dayne | last post by:
Guys, I am writing a database application(vb.net , sql server) and is presently storing the connection settings in a xml file...not very secure though. What is a safer method in a dynamic...
9
by: Brian P. Hammer | last post by:
All - I have an app that saves data to a xml file via a dataset. Our company stores some data in various xml files that is now considered a risk under its security policy. What's the best way to...
7
by: Richard L Rosenheim | last post by:
Anyone care to express their two cents over pros and cons of encrypting the data being transmitted (within the SOAP package) versus just utilizing a HTTPS connection? Richard Rosenheim
2
by: Amar | last post by:
Hi All, I want to insert my password into the mysql database by encrypting it so that I can also retrieve the password. Before I was using sha1() for encrypting password,but it is an one way...
2
by: SeeSharp Bint | last post by:
Visual Studio 2005, dotnet, c#. Microsoft SQL Server. Windows XP forms application. Temporarily, for my database application, I have been storing the various elements of database connection...
13
by: Paul Sijben | last post by:
Hello, this question has come by repeatedly in several guises over the past years but has never been solved in this forum as far as I have been able to Google. However since so many people...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.