Имея проблему с получением функции fuzzy_compare для возврата правильного значения сравнения. Оно должно быть возвращение 0 ~ 100, но всегда возвращает 0.ssdeep's fuzzy_compare всегда возвращает 0, загруженный из ctypes python
from ctypes import *
fuzzy = CDLL('fuzzy.dll')
out1 = create_string_buffer('\x00'*512)
out2 = create_string_buffer('\x00'*512)
print fuzzy.fuzzy_hash_buf('hashme', len('hashme'), out1)
print fuzzy.fuzzy_hash_buf('hashme2', len('hashme2'), out2)
print out1.value
print out2.value
print fuzzy.fuzzy_compare(out1, out2)
# output
# 0
# 0
# 3:cA:x <-- correct hash
# 3:cy:R <-- correct hash
# 0 <-- fuzzy_compare returning 0...
Я попытался назвать нечеткое сравнение с out1.value, литье в c_char_p() и create_string_buffer(), но он всегда возвращает 0. Я смотрел на нем в отладчике (установите bp на функцию fuzzy_compare и правильно передайте значения, я просто не знаю, почему он всегда возвращает 0. Я неправильно использую функцию?
ты мой герой. работает, как прелесть, думаю, я должен изучить, как черты ctypes работает! – omgpants