[#] Реверс-инжиниринг целочисленного деления на константу
habrabot(difrex,1) — All
2015-04-28 15:00:03


Так бывает, что иногда реверсишь код, который занимается какой-то рутиной, не предполагающей каких-то серьезных вычислений и тут внезапно умножение на большую константу (поплачем, что на хабре нет хайлайтера для асма):

mov edx, [ebp+end_of_buffer]
mov eax, [ebp+src]
mov ecx, edx
sub ecx, eax
mov edx, 80808081h
mov eax, ecx
imul edx
lea eax, [edx+ecx]
mov edx, eax
sar edx, 7
mov eax, ecx
sar eax, 1Fh
sub edx, eax
mov eax, edx


[Читать дальше →][1]

[1]: http://habrahabr.ru/post/256827/#habracut