Assembly/finding item ID's.

hi, im Moeyy.
im a new C++ programmer (still learning, and sorry for the introduction its my first thread).
and i got a couple of questions, if you can answer them id appreciate it .
1.how do people find item ID's like guns and such..is it through the client or the games files?
2.how do i find a certain memory address such as the memory address to use to change a nickname? (also if you learned Assembly online please link a tutorial)
i asked those question so i can use the info i gather for a program im making.
thanks in advance