The code checks a flag by performing the following steps:

  1. Allocate memory for a buffer called src with the size specified by the size parameter.
  2. Call a function at the address stored in the a1 variable, passing a1, a3, 0, size, and src as arguments.
  3. Allocate memory for another buffer called v4 with the size size + 1.
  4. Set all bytes of v4 to 0.
  5. Copy the contents of src to v4.
  6. Perform some operations on v4 by subtracting 5 from each byte in the first half of the buffer and swapping the bytes with their counterparts in the second half of the buffer.
  7. Set the byte at index size of v4 to 0.
  8. Free the memory allocated for v4 and src.
  9. Compare the contents of v4 with the string "=0HWYl1SE5UQWFfN?I+PEo.UcshU".
  10. Return true if the contents of v4 are equal to the string, false otherwise.

The function ultimately checks if the flag stored in v4 matches the string "=0HWYl1SE5UQWFfN?I+PEo.UcshU"

_BOOL4 __cdecl native_checkFlagint a1 int a2 int a3 size_t size void v4; ebp int v5; eax size_t v6; edx char v8; esp+2Bh ebp-21h void src; esp+2Ch ebp-20h src = mallocsize; void __cdecl in

原文地址: http://www.cveoy.top/t/topic/iYEH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录