Feeding false an App

R

Richard Anderson

I *knew* there was a Perl question lurking in there somewhere. We just
had to find it. :)

To start learning about network programming in Perl, have a look at
"perldoc perlipc", especially the section "Sockets: Client/Server
Communication". That's low-level stuff though. If you're using a
well-known protocol - heck, even if you're using an obscure protocol,
have a look around CPAN to see if there's a module that implements it.


Once your app is listening for and accepting connections, it can also
send responses. If you want to be sneaky, set up your app as a "man in
the middle". When it gets an incoming connection, establish a
connection with the real app too.

You can then write your app to handle the CPU ID request however you
want, but forward other requests to the main app and return its
responses back to the server, either as-is or modified.


There's no way for me to know that. That's what the packet scanner is
for, so you can examine the traffic between the client and server.
You'll need to decide how to proceed based on what you see there.

sherm--

Thanks alot Sherm! You helpes me clarify steps.

Exmm is there a way that you can also contribute to the perl prog i have
so far by adding network programming support?
 
L

Larry

A. Sinan Unur said:
Assumption: An email address with the word 'hacker' correlates with
immaturity.

Similar to using larry_wallet, IMNSHO.

Sinan.

I do not know what IMNSHO means, but I am using the name given to me by
my mother and father, Lawrence Thomas Wallet Jr. I am a Physics
professor at our local community college and I have programmed in C as
a hobby for the last 30 years.

You are very arrogant for someone who is not even published on cpan.

Larry
 
A

A. Sinan Unur

I do not know what IMNSHO means,

In my not so humble opinion
but I am using the name given to me by
my mother and father, Lawrence Thomas Wallet Jr.

If that is really the case, I am apologize. I had (it seems incorrectly)
assumed that larry_wallet was a play on "Larry Wall".

Sinan.
 
R

Richard Anderson

We're finally getting somewhere. There's probably not much point in
trying to reverse-engineer the app. Even if you could figure out how
it's getting CPU info from Windows, it would be really hard to feed it
misinformation that way.

A better approach would be to intercept the incoming network request,
and redirect it to an app of your own. To do that, you need to figure
out two things:

1. What port the app listens on.
2. What protocol it speaks.

Google for "port scanner" and "packet sniffer" for tools to help
figure those two things out. Once you know the port, you can easily
configure your firewall to redirect incoming requests on that port to
a port that your app is listening on. And once you know the protocol,
you'll be able to write your app to respond to those requests.

Once you're ready to write your app, go to <http://search.cpan.org>,
and search for "network server", and/or the protocol you want to
implement.

It's a lot of work, and it might not seem worth it just to cheat at
chess and/or win a bet. But it's a good learning exercise - accurately
defining a problem, and then breaking it down into manageable pieces,
is a vital skill for any programmer to have.

Here's a slightly simpler modification to that plan: make a proxy server
that watches the data going out from this program and which will modify
the outgoing CPU ID. Essentially it will be like this:

My program <==> My proxy server <==internet==> His server
(Sees CPU ID) (Modifies CPU ID) (Sees fake CPU ID)

I won't need to do any "packet sniffing" or anything like that,
because i will be able to simply record the data that passes through
my perl proxy server. Once i find a way to recognize when my CPU ID is
sent, then i can just add some code to it to modify the CPU ID when it
sees it.

Technically i won't be fooling his program on my PC, but i will
still be spoofing my CPU ID to any other computer i'am talking to.

I think that thius alternative is evne better but then again i'am having
trouble implementing it.

Maybe you could help me with a sample perl script thats act like this to
get a clue on how its done?
 
C

Charlton Wilbur

RA>
RA> Can you help me implement my suggestion please?

Sure. You have two choices: learn Perl or hire a programmer. If you
want to pursue the former, take your best effort, and when you get
stuck, post a specific question and the code you're having a problem
with. If you want to pursue the latter, you can try http://jobs.perl.org.

Here's a hint: what you're asking to do is probably going to take a
fair bit of work, and you're going to need to learn quite a bit. If
you're not willing to put in any effort -- and it seems from your
posts so far that you're not only not willing to put in much effort,
you're willing to invest more effort into pestering others into
writing the code for you -- then you're probably better off just
giving up now.

Charlton
 
R

Richard Anderson

RA>
RA> Can you help me implement my suggestion please?

Sure. You have two choices: learn Perl or hire a programmer. If you
want to pursue the former, take your best effort, and when you get
stuck, post a specific question and the code you're having a problem
with. If you want to pursue the latter, you can try
http://jobs.perl.org.

Here's a hint: what you're asking to do is probably going to take a
fair bit of work, and you're going to need to learn quite a bit. If
you're not willing to put in any effort -- and it seems from your
posts so far that you're not only not willing to put in much effort,
you're willing to invest more effort into pestering others into
writing the code for you -- then you're probably better off just
giving up now.

Actually, you are right. I'll stick to the former solution and then when
i am stuck i'll pop my specific question :)
 
A

Anno Siegel

[...]
You are very arrogant for someone who is not even published on cpan.

That remark shows your cluelessness.

Publishing on CPAN (not "being published") is about as hard as buying
a book from Amazon -- only cheaper.

Anno
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,819
Latest member
masterdaster

Latest Threads

Top