Preventing text leak in the official client.
Hey,I want to know how to prevent the occurrence of text leak when the client is minimized . I tried hooking some winapi functions with no hope... looks like when the client is minimized it gets text in someway other than when it's active.
There is someone who did it before but doesn't want to share.I thought i could ask on eoserv where i helped others as far as i could and released pure code .
Some script kiddies got gifted with some skills do they act like real programmers ? nope they act like script kiddies. ---
Remember when is not an organization nor a fucking group , it's simply an idea that we believe in
and live for.
The priority of Remember when should come before oxygen , as oxygen is cosmetic even life itself is
cosmetic,that's why offer our worthless lives to The "Remember when"
9 years, 22 weeks ago
|
Re: Preventing text leak in the official client.
I'm not sure if this might help or if its even close to what you need. IsIconic(HWND) or IsWindowVisible()
Maybe somthing like this
#include <windows.h>
#include <tlhelp32.h>
#include <winable.h>
bool ProcessRunning( const char* name )
{
HANDLE SnapShot = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
if( SnapShot == INVALID_HANDLE_VALUE )
return false;
PROCESSENTRY32 procEntry;
procEntry.dwSize = sizeof( PROCESSENTRY32 );
if( !Process32First( SnapShot, &procEntry ) )
return false;
do
{
if( strcmp( procEntry.szExeFile, name ) == 0 )
return true;
}
while( Process32Next( SnapShot, &procEntry ) );
return false;
}
int main ()
{
either of these next 2 functions work fine
system ("EndlessOnline.exe");
//ShellExecute(NULL, "open", " EndlessOnline.exe ", NULL, NULL, SW_SHOWDEFAULT);
//find traget window
HWND OtherWindow = FindWindow( 0, "EndlessOnline" );
while(ProcessRunning("EndlessOnline.exe"))
{
if(! IsWindowVisible(
OtherWindow ) )
{
//check message types
BlockInput(true);
}
else
{
BlockInput(false);
}
}
return 0;
}
9 years, 22 weeks ago
|
Re: Preventing text leak in the official client.
Thnx man for your time, it tells me BlockInput wasn't declared , im using mingw compiler.
I think have tried blockinput before , where it compiled but didn't actually solve the situation. ---
Remember when is not an organization nor a fucking group , it's simply an idea that we believe in
and live for.
The priority of Remember when should come before oxygen , as oxygen is cosmetic even life itself is
cosmetic,that's why offer our worthless lives to The "Remember when"
9 years, 22 weeks ago
|
Re: Preventing text leak in the official client.
I forgot 1 of the headers #include <winable.h> I'm going to keep working on this for a bit and post back what I find I am currious.
9 years, 22 weeks ago
|
Re: Preventing text leak in the official client.
It's not the header actually it's my compiler it's old i m going to upgrade it and try, but honestly this could be done in a better way if you know the method the client uses to detect key inputs then do the window test function there.
Edit : btw im using a dll injection and winapi hooking to do this ---
Remember when is not an organization nor a fucking group , it's simply an idea that we believe in
and live for.
The priority of Remember when should come before oxygen , as oxygen is cosmetic even life itself is
cosmetic,that's why offer our worthless lives to The "Remember when"
9 years, 22 weeks ago
|
Re: Preventing text leak in the official client.
weedindeed posted: (5th Feb 2016, 09:50 am)
It's not the header actually it's my compiler it's old i m going to upgrade it and try, but honestly this could be done in a better way if you know the method the client uses to detect key inputs then do the window test function there.
Edit : btw im using a dll injection and winapi hooking to do this
You can hook WNDPROC and intercept messages with that.
9 years, 22 weeks ago
|
Re: Preventing text leak in the official client.
What exactly does "text leak" mean? I'm not sure if this is what you're looking for, but I've used SetWindowsHookEx to detect keypresses system-wide (kind of like a keylogger). See WH_KEYBOARD_LL. There are tons of examples of how to do use on the internet.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx
You could use this to inject a hook into a running process (say, endless.exe). ---
class EOSERV {
Programmer | Oldbie
Open source EO Client: https://github.com/ethanmoffat/EndlessClient
};
9 years, 22 weeks ago
|
Mouse

Joined: 2nd Sep 2011
Posts: 1137
Re: Preventing text leak in the official client.
Easiest way to prevent leaking is to minimize with the button on the top right next to the red X
If you minimize by clicking the taskbar tab icon you will leak anything you type. ---
Tire me.
9 years, 22 weeks ago
|
Callum

Joined: 16th Oct 2011
Posts: 609
Re: Preventing text leak in the official client.
Click add friend in the client or press the exit button once so it physically stops you typing public, that's what I do
9 years, 22 weeks ago
|
Re: Preventing text leak in the official client.
ethanmoffat posted: (5th Feb 2016, 05:14 pm)
What exactly does "text leak" mean? I'm not sure if this is what you're looking for, but I've used SetWindowsHookEx to detect keypresses system-wide (kind of like a keylogger). See WH_KEYBOARD_LL. There are tons of examples of how to do use on the internet.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx
You could use this to inject a hook into a running process (say, endless.exe).
You know what , this is the best i have seen to detect keypresses .
Now i need a way to block the input when the client is minimized.
Blockinput doesn't work. ---
Remember when is not an organization nor a fucking group , it's simply an idea that we believe in
and live for.
The priority of Remember when should come before oxygen , as oxygen is cosmetic even life itself is
cosmetic,that's why offer our worthless lives to The "Remember when"
9 years, 22 weeks ago
|
shayne

Joined: 20th Dec 2010
Posts: 793
Re: Preventing text leak in the official client.
You can prevent text from leaking with a basic client modification. It's pretty hacky, but it's the only way I know how to do it. The way I would go about it, to make it work the way you intend, is to make a simple program to check when the EO window is activated/deactivated and apply the
memory modification/default accordingly. I'm sure there is much better ways, but it's the easiest/only way I'd know how. =d
I was thinking of trying something like this a while back, I'll mess around with it a bit later, should be fairly easy to do.
---
EO Resources/Guides: â—„ eobud.boards.net â–º
9 years, 22 weeks ago
|
Iroh
Joined: 15th Jun 2016
Posts: 4
Re: Preventing text leak in the official client.
the easiest way is to simply press the logout botton and bring up the drop box before you minimize, it blocks all text.
9 years, 3 weeks ago
|
Re: Preventing text leak in the official client.
Hmmm can a process suspend itself and unsuspend itself? I remember suspending malware before and it continued using 2% cpu.
Can you hook into the minimize call and do suspend process while still listening for an unminimize call and do resume process without using a seperate process for this.
---
I not hacker
“Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its
whole life believing that it is stupid.†- Albert Einstein : Really Great Quote Ramy!
9 years, 2 weeks ago
|
shayne

Joined: 20th Dec 2010
Posts: 793
Re: Preventing text leak in the official client.
I was messing around with chat leak, and made a SMALL/BASIC tool to prevent chat leak for the window title you specify.
I did this pretty hacky/cheap, but it does the trick for now.
Basically it detects when the client window you specify is activated/deactivated and applies the memory modification accordingly.
It will only work with one eo window open at a time currently. If anyone wants to try it, you can download it below. Anti Chat Leak [Test Version]
If anyone wants to mess with this client mod themselves: [Disallow Typing] (When minimized from TaskBar)
447469 80 BA 2D040000 01
[Allow Typing] (When client is active again.)
447469 80 BA 2D040000 256
Incase anyone wants to mess around more:
endless.TMainFormActivateForm$qqrp14SystemTObject 00401ABC C6 80 2D040000 01 - mov byte ptr [eax+0000042D],01
endless.TMainFormDeactivateForm$qqrp14SystemTObject 00401AC4 C6 80 2D040000 00 - mov byte ptr [eax+0000042D],00
endless.TMainFormMinimizeForm$qqrp14SystemTObject 00401ACC C6 80 2C040000 01 - mov byte ptr [eax+0000042C],01
endless.TMainFormRestoreForm$qqrp14SystemTObject 00401AD4 C6 80 2C040000 00 - mov byte ptr [eax+0000042C],00
It would be nice to see something like this implemented in eoserv, but obviously if done much better/proper. =d
I'll probably mess around some more with this soon, and hopefully have a version working for multi client use!
---
EO Resources/Guides: â—„ eobud.boards.net â–º
9 years, 1 week ago
| | | | | | | | | | | | | | |