![]() |
eXeL@B —› Вопросы новичков —› крякмис из главы 19 Введения в крекинг с нуля |
Посл.ответ | Сообщение |
|
Создано: 13 мая 2016 16:23 · Личное сообщение · #1 В двух словах, крякми через GetVolumeInformation проводит махинации с FileSystemNameBuffer и VolumeSerialNumber, создавая отображаемый ID No и проверочный код, который на самом деле просто соединяет FileSystemNameBuffer с VolumeSerialNumber, делит на 4 и пускает через BSWAP . А затем с моим введенным кодом проводятся следующие действия: Code:
и получается какое-то значение, которое потом ксорится, рорится и еще чего-то там, но это легко обратимо, и наконец-то сравнивается с моим. Застрял на восстановлении в районе 4014AE и 4014B1. Может математику подзабыл, но не могу как там дальше можно что-то преобразовать в серийник. ![]() |
|
Создано: 13 мая 2016 16:59 · Поправил: Kindly · Личное сообщение · #2 g3r0n1m0 пишет: 004014AE |. 8D0C89 |LEA ECX, DWORD PTR DS:[EAX+ECX*2] LEA указатель, но если ECX = 1, а не адрес, в EAX, например, значения из цикла, то так и будет ECX := EAX+ECX*2 если данные не могут указываться из-за отсутствия адреса, то они не могут быть прочитаны, и эта команда будет выполнять обычную арифметику из имеющихся в регистре значений. ----- Array[Login..Logout] of Life ![]() |
|
Создано: 13 мая 2016 17:11 · Поправил: g3r0n1m0 · Личное сообщение · #3 |
|
Создано: 13 мая 2016 17:52 · Поправил: Kindly · Личное сообщение · #4 |
|
Создано: 13 мая 2016 18:07 · Поправил: albatros · Личное сообщение · #5 Kindly так с конца и начинал) далее там вот что творится со значением полученного в ecx и перенесенного в eax: Code:
и по выходу сразу сравнение двух преобразований Code:
конечнее уже некуда ![]() ![]() |
|
Создано: 14 мая 2016 11:48 · Поправил: Kindly · Личное сообщение · #6 ну видимо надо начать с преобразования hwid в нужное для сравнения значение, в дельфи примерно так: Code:
далее высчитываем серийник под это значение. на этом пол крякми ящетаю решено ![]() добавлено: ну вобщем крякми на внимательность, ответный код под мой hwid: 3262759216 в мой код нужно добавить еще нужное количество инструкций кое куда, определите опытным путем ![]() возможно, я где-то не доработал, но не решать же мне крякми за вас, так не научитесь ![]() добавлено еще: можно и так, но это не будет полноценным кигеном: где складываются два значения от GetVolumeInformation 00401350 |. 03C3 ADD EAX,EBX после пишешь SHR EAX,2 ROR EAX,2 переводишь EAX в десятичную и вот тебе серийник. для кигена надо раскручивать, но там немного загвоздка с числами и обратимостью SHL, некорректно будет использовать SHR или SAR статично, нужно как-то сравнивать флаговые регистры, по всей видимости (я сам нуб, если что ![]() а вообще тут давно обсуждали... https://exelab.ru/f/action=vthread&forum=5&topic=13496 ----- Array[Login..Logout] of Life ![]() |
![]() |
eXeL@B —› Вопросы новичков —› крякмис из главы 19 Введения в крекинг с нуля |