我首先要说的是,这是我第四次尝试对 Crackme 进行逆向工程,我开始了解组装的工作原理,这很酷。如果这个问题是错误的或者我使用了错误的术语,我很抱歉。
我正在使用 IDA 反转 mach-0 二进制文件。当我检查它时,我发现有数百个名字奇怪的函数,像这样
j___ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9_
现在,这看起来不像是纯粹的垃圾。我可以从中“提取”以下内容:char_traits、分配器、basic_string。
显然它对字符串做了一些事情,就像以前一样,有以下说明:
lea rsi, goodWork ; "Good work!"
lea rdx, _cido ; _cido in IDA is shown to do -> and [rax], eax ; I have no idea what that means
lea rdi, [rbp+var] ; the only occurrence of var before is at the start -> var = qword ptr - 1C0H ; as always, no idea of what is this
call to_the_function_I_wrote_before
jmp $+5
是否有一种技术/方法可以了解此功能的作用?
编辑:
这已被标记为重复。不是。您链接的问题仅对函数名称进行了破坏,这是 IDA 自动执行的操作。
我需要了解这个函数到底做了什么。demangled 函数名对我来说和 mangled 函数名一样有用。我不明白。我需要一些指导。