Try the custom AI to help you find products that Reddit loves.
You need to learn C and x86 first. C++ might be okay, but C is more closely linked with Assembly than C++.
Unfortunately the more unfortunate part is that you need a decent RE IDE to do this. Ida64 is the deadline facto suite used to do this. The free alternatives... Aren't as good from what I've heard of them (which is very little to be completely honest). And Ida64 pro can cost upwards of 5k... It's the de facto suite for a reason.
That being said, here's a really good book I bought that seems to cover things pretty in depthly:
Keep in mind the assembly you'll be learning is MASM and that all assembly languages can be very different (but like all programming languages are usually conceptually the same).:
is this book still good? https://www.amazon.com/Reversing-Secrets-Engineering-Eldad-Eilam/dp/0764574817
Read this: http://www.amazon.com/Reversing-Secrets-Engineering-Eldad-Eilam/dp/0764574817
>we can see all the strings declared in the application -with the purpose of logging- in plain text
What is the purpose of these messages? Are they to help the client diagnose output issues? The developers diagnose crashes? ...?
>These strings are encrypted in runtime, and the customer gets meaningless information that only can be decyphered with the use of a tool we provide in house.
So the only people who can meaningfully read the messages are people who have access to your in-house tool. Do you send this tool to the client? If not, then you can use this as your security gate.
>This is done this way because the logs contain the names of mathematical procedures and algorithms which can reveal sensitive information about our product
I have some very bad news for you. Neither of these things can be kept secret from even a novice reverser. The names of the procedures can (at best) be obscured by writing your own and giving them silly names. But the algorithms can always be reversed- even with the best optimizer reconfigurations and obfuscation techniques by using data flow analysis.
I encourage you to "know thy enemy" and read up on Reversing and software exploitation.
Cheers, this book sounds really cool.
I really like 'Reversing: Secrets of Reverse Engineering' for reverse engineering info.
Reversing: Secrets of Reverse Engineering - Decent intro to the subject of reverse engineering, describing the different kinds of tools and approaches.
Windows Internals - If you want to analyze Win32 malware, you need to know a lot about Windows internals.
Intel Architecture Software Development Manuals - Free PDFs. These are awesome if you want to understand IA-32 at a low level.
Rootkits: Subverting the Windows Kernel - A good read for an intro to how Windows rootkits work.
You need to know a lot of things to be able to figure that kind of stuff out. Not just low-level programming but details about hardware, tricks the developers used to create the product...
These books might be a good start:
Reversing: Secrets of Reverse Engineering
Gray Hat Python - Since you are familiar with Python right now