custom agent response for Mirc (v6.35?)

(note: i'm writing this thing years after doing it, so...)

Mirc doens't allow to change the response to the CTCP VERSION request. i'ts a matter of netiquette, i guess. but nowadays it's pretty clear that nobody really cares about it. the zombies have invaded the net ages ago :(
in my case, since i prefer to not update Mirc every time a new version comes out, especially if i'm using it on old machines, i don't want possible attackers to know what i'm using. thanks.

as a bonus, i'll also remove the protection >:P
if you like Mirc, be a good citizen and buy it! (-->

first of all, firewall mirc.exe on http* connections. it doesn't really need to use those :p

in the exe, change the CTCP "VERSION" string that Mirc recognizes (and doesn't allow to override):

in this pic i've covered the bytes that need to be changed.
note that Mirc is still answering this new CTCP string, because i've not removed/changed that code :P so, choose some silly string that is not used anywhere.

remove the CRC check for the exe itself that Mirc does when it starts. otherwise it will detect all the changes :p

here the patch is already applied, as you can see by the NOPs.

then remove the phone-home when validating the regcode:

highlighted is the jump to take.
since Mirc should be firewalled, this fix is not necessary, but i've put it here just to show it.
also, there should be other phone-homes in the code, but i didn't care to find them, again, because of the firewalling :ppp

next, remove the validation of the regcode, when it gets inserted:

notice the delay to fake some "calculations" :)

for last, remove the validation of the regcode when Mirc starts:

now, start Mirc and insert the registration infos in the dialog (from the About menu?).
...look around and you may find them ;P
exit Mirc and re-enter it. it should not nag or anything. check the about dialog to see if it's registered ok.

oh, yes! the custom CTCP VERSION ^_________^╰╰
go to the Mirc's script editor and on the "remote" tab, then add something like:

	ctcp 1:VERSION:?:/notice $nick KVIrc 5.0.0
you can test that it works by querying your own client.