Work Required ~ Player Detect Script

08/10/2009 14:26 HypeRendezvous#16
NC
08/10/2009 16:03 ind3siszive#17
ahh your right drako i didnt look at the original code, just was a thought, sorry and good work getting the address
09/18/2009 19:45 kulaza#18
Thanks for you work.

I have a little question, does it work for a pserv?
09/18/2009 20:07 bottomy#19
Quote:
Originally Posted by kulaza View Post
Thanks for you work.

I have a little question, does it work for a pserv?

yes
09/18/2009 22:56 rakrak#20
i update the address to work in dekaron sea. im testing it right now. i wonder whats the result when theres gm around. hopefully, the script wont execute auto message yelling " hey! im a hacker!" xD just kidding.. heres the updated address for dekaron sea.

0054D083

Quote:
[ENABLE]
alloc(DetectGM,512)
label(ReturnName)
registersymbol(DetectGM)

DetectGM:
cmp [eax+70],5D4D475B //[GM]
je 00000000
mov [esi+0c],00000000
jmp ReturnName

0054D083: //C7 46 0C 00 00 00 00 89 47 04
jmp DetectGM
nop
nop
ReturnName:

[DISABLE]
dealloc(DetectGM)
unregistersymbol(DetectGM)
0054D083:
mov [esi+0c],00000000
09/19/2009 00:35 6Drako9#21
lol you are just going to CRASH

and when you log in you will appear were you where about 10 second before you crashed

also while testing it...
I rewrote the script to tell me the name instead of crash.
and found that there was an invisible [GM] Sachimo near the stairs going to Parca Tample
100% it works :awesome:
09/19/2009 01:05 kulaza#22
Could you tell me if i do the right thing

I replace the address given by array of bite in:


But how to know if it's really working...
09/19/2009 01:30 6Drako9#23
just by chance... you have to find an invisible GM
or hold on...
here use this script
Code:
[ENABLE]
alloc(DetectPcName,32)
label(ReturnPcName)
label(PcName)
registersymbol(PcName)

00550863: //C7 46 0C 00 00 00 00 89 47 04
jmp DetectPcName
nop
nop
ReturnPcName:

DetectPcName:
mov [PcName],eax
mov [esi+0c],00000000
jmp ReturnPcName
PcName:
db 00 00 00 00

[DISABLE]
dealloc(DetectPcName)
unregistersymbol(PcName)
00550863:
mov [esi+0c],00000000
and then add a pointer with
Address: "PcName"
Offset: 70
Type: Text
Length: 20

then go around and check if on CE the names on the game match the names that appear in the Value column of the address you added
09/19/2009 01:42 kulaza#24
I'm trying with the offcet i found for the Pserv and i'll tell you :)

PS: OMG.... the name changes often...

Edit: It captures only player names i think or they are 30% of player as admin
09/19/2009 01:51 6Drako9#25
no don't worry
the ones you can't see is just because its changing so fast that you can't see them
it is actually going through every new name even if it changes immediately after
so the GM crash will work with the address you have even if the GM is invisible
*Thumbs Up*

if you want to see more names try the original script
Code:
[ENABLE]
alloc(newmem,1024)

label(returnhere)
label(originalcode)
label(exit)
label(flag)


registersymbol(name1)
label(name1)
registersymbol(name2)
label(name2)
registersymbol(name3)
label(name3)
registersymbol(name4)
label(name4)
registersymbol(name5)
label(name5)
registersymbol(name6)
label(name6)
registersymbol(name7)
label(name7)
registersymbol(name8)
label(name8)
label(index)
label(save_name)

53BB93:
jmp newmem
nop
nop
returnhere:

newmem:
mov [flag],FF
inc [index]
cmp [index],7
jb save_name
mov [index],0

save_name:
pushad
mov ebx,[index]
mov edx,name1
lea ecx,[edx+ebx*08]
lea ecx,[ecx+ebx*08]

mov ebx,[eax+70]
mov [ecx],ebx

mov ebx,[eax+74]
mov [ecx+4],ebx

mov ebx,[eax+78]
mov [ecx+8],ebx

mov ebx,[eax+7C]
mov [ecx+C],ebx
popad
originalcode:
mov [esi+0c],00000000

exit:
jmp returnhere

flag:
dd 00000000

name1:
dd 00000000 00000000 00000000 00000000
name2:
dd 00000000 00000000 00000000 00000000
name3:
dd 00000000 00000000 00000000 00000000
name4:
dd 00000000 00000000 00000000 00000000
name5:
dd 00000000 00000000 00000000 00000000
name6:
dd 00000000 00000000 00000000 00000000
name7:
dd 00000000 00000000 00000000 00000000
name8:
dd 00000000 00000000 00000000 00000000
index:
dd 00000000
[DISABLE]
53BB93:
mov [esi+0c],00000000

dealloc(newmem)
but remember to change the address
09/19/2009 01:57 kulaza#26
So the script allows to detect all player normal/GM isn'it?

And how to detect GM, they have [GM] at the beggining?

I really appreciate your helps.
09/19/2009 02:02 6Drako9#27
yea what the other "GMDetect script does is... compares the first 4 characters to "[GM]"
and if it equals then the code jumps to the address 00000000.

which could be kind of compared to like... the entire universe imploding and everything would crush itself into a different multimension from ours...

lol aka game goes BOOM
09/19/2009 02:07 kulaza#28
Perfect, so i'm trying it until i find a GM :)

I sent you a mp for things that are not for this topic.
09/19/2009 02:17 HalloX#29
Quote:
Originally Posted by 6Drako9 View Post
just by chance... you have to find an invisible GM
or hold on...
here use this script
Code:
[ENABLE]
alloc(DetectPcName,32)
label(ReturnPcName)
label(PcName)
registersymbol(PcName)

00550863: //C7 46 0C 00 00 00 00 89 47 04
jmp DetectPcName
nop
nop
ReturnPcName:

DetectPcName:
mov [PcName],eax
mov [esi+0c],00000000
jmp ReturnPcName
PcName:
db 00 00 00 00

[DISABLE]
dealloc(DetectPcName)
unregistersymbol(PcName)
00550863:
mov [esi+0c],00000000
and then add a pointer with
Address: "PcName"
Offset: 70
Type: Text
Length: 20

then go around and check if on CE the names on the game match the names that appear in the Value column of the address you added
So Drako, I create a script with the code, activate it, go to add address manually, click pointer, then the address of pointer should be pcName?
09/19/2009 02:23 kulaza#30
Yes, Address: "PcName" seems quite clear, isn'it?

And test it in game, you'll see what happened.