Hey everyone,
I'm sifting through the blackops release and I've reached a hurdle. In COD4:MW there was a function used by the game to toggle the full console (with the output screen): Con_ToggleConsoleOutput().
This was triggered using shift + ~.
It seems that almost all functions in black ops were obfuscated. Stuff like BG_WeaponFireRecoil(...) in COD4, is now sub_d870a. All functions are sub_pointer. So I've been finding most functions by finding a constant or set of constants I know are found in only that function, for example "CG_EntityEvent:%s\n" would bring me here:
Code:
00297a5d mov dword [ss:esp+0x4], 0x63c4f4 ; "CG_EntityEvent:%s\\n", argument #2 for method sub_40c00b
00297a65 mov dword [ss:esp], 0x15 ; argument #1 for method sub_40c00b
00297a6c call sub_40c00b
With sub_40c00b being a function I could be looking for. Does anybody know how I can find the offset of the function I can use to toggle the full console output?
In COD4, Con_ToggleConsoleOutput() doesn't have any strings within it:
Code:
__Z23Con_ToggleConsoleOutputv: // Con_ToggleConsoleOutput()
000a4fc0 push ebp ; XREF=__Z11CL_KeyEventiiij+712
000a4fc1 mov ebp, esp
000a4fc3 cmp byte [ds:0xe4], 0x0 ; 0x4577e4
000a4fca sete byte [ds:0xe4] ; 0x4577e4
000a4fd1 leave
000a4fd2 ret
000a4fd3 nop word [ds:eax+eax]
000a4fd9 nop dword [ds:eax]
And the cross-referenced CL_KeyEvent function here is absolutely massive, making it difficult to pin down the console toggle call in the obfuscated version of it.
Thanks for any tips you guys may have!
- - - Updated - - -
Sure enough, shortly after I post this I find the function....
Sorry mods, you can close this thread.