Just because you don't get a warning doesn't mean a cheat or modification isn't detected. This seems like such a trivial feature to risk getting banned over. I've cut you some slack because I trust that you're trying to make improvements, but you shouldn't press your luck. If it bugs you that much, I've "fixed" this for the next release.
Isn't that important, however i found this very easy to fix. In assembler too.
If i get banned i can simply modify your anticheat hardware detection system to produce wrong results. It's also possible to easily intercept packets (thanks for nice kick messages that help debugging).
The changes you've made are all in the open source.
1: You don't really have to know C++ to make the changes you've made. You're just disabling some prints. Language differences are mostly just syntax and keyword changes, anyway.
But i need to: 1. Find those prints in source. 2. Have C++ compiler (VS?) . As i got much knowledge about VS generated assembler i found it will be easier for me to find interesting prints with IDA and then replace them with very simple program (i have PE manipulation library written for PAC protector).
Key code is simple as that:
procedure ReplaceWithNop(adr:integer;startbyt:array of byte;len:word);
var
p:TPePointer;
buf:array of byte;
begin
p:=TPePointer.Create(pe,pointer(adr),true);
setlength(buf,len);
p.ReadBuffer(buf[0],length(startbyt),false);
if CompareByte(buf[0],startbyt[0],length(startbyt))<>0 then raise exception.Create('Instruction at '+inttostr(adr)+' is modified');
fillchar(buf[0],len,$90);
p.WriteBuffer(buf[0],len,false);
p.Free;
end;
...
ReplaceWithNop($42BBD7,[$50,$68,$98,$99,$48,$00,$E8,$EE,$B7,$FD,$FF,$83,$C4,$08],14);
ReplaceWithNop($42BDFD,[$50,$68,$54,$DA,$48,$00,$E8,$C8,$B5,$FD,$FF,$83,$C4,$0C],14);
2: This is probably one of those cases - took less time to make the change than to write this forum response.
3: You can test stuff off line or with bots.
2. Modification in my case didn't took too much time too. Maybe in future I'll go for some more complicated modifications.
3. I always do. But this patch is made to improve game experience, not to test stuff.
I'm working on building my own game instead of improving this one.
Higher level languages meaning ones like C#.
C/C++ is high level language, not 'higher'. I assume higher: Java, C# etc.
There are a lot of people constantly trying to hack. There's a reason he doesn't give the source out. Enough hacks are made without having it.
I understand that he doesn't want everyone to have source, but i don't think that help at all. I made my Wallhack without source, just RE anticheat and game libraries. No protections are made at all both to game libraries and anticheat. I've even proposed Jitspoe my protector i made for PAC, but i haven't got any answer.
If Jitspoe wants to prevent hackers from cheating he should protect anticheat more. I believe he simply compiles source. Compilation of PAC involves modified compiler, source code obfuscator, protector and packer.
Then we can have opensourced game with protected anticheat. Most cheaters are stupid anyway but Jitspoe wants them to cheat and then get banned rather than just preventing cheating (see also: PAC antiinjection system that prevents many speedhacks/wallhacks and Jits response).