Веселитесь Packer: UPack; Packed Size: 169 KB Pacled Winrar: 151 KB Uploaded On: sendspace.com Download: Code: http://www.sendspace.com/file/mvc298 Download
сколко минут заняло? и каким способом? не не получается у меня хорошие крекми но всеже хорошо чем нечего )
ну минут 5 заняло, из них пару минут поднимал виртуалку и искал отладчик там же всё в открытом виде, так не делается.
ну так всегда, все в открытом виде, а как сделать в закрытом? все делал как толму чтоб не поняли нечего ... класть исходник ? чтоб сказал как закрыто сделсть?
пасс: 1QrcogW6t0 Hellsp@wn,а что там прятоть то!Несколько блоков одного же повторяющегося кода, В первом блоке сравнивается,верный с неверным байтом,если неверный,то сразу же мессага,что пассворд некорректный,что б узнать все нужные буквы,перепрыгивай на следующий блок и всё!И по адрусу в едх,будет нужная букова!Извеняюсь ,за грамматику.... Вижу одним глазом....в честь праздничька...
А ты сам решай! Загружаем крякми в ольку,запускаем!Пишем 10 любых символов,брякаемся на мессагебох о неверном пассе.Идём на начало процедуры вызова и что видим, что мессагебох вызывается аж 12 раз!С чего это в таком маленьком крякми ,столько вызовов?Смотрим откуда происходят вызовы,а все вызовы то из одной и той же проце дуры!Ставим бряк на начало процедуры,перезапускаем,брякаемся!Первая проверка на длину пасса, если он больше,или равен трём,то первый вызов нашего мессагебога мы пропускаем,идём дальше, потом идут побайтовые проверки на символы одним и тем же кодом,меняем флаг,перепрыгиваем на последующие участки кода и смотрим что у нас находится по адресу в едх!Все символы записываем, доходим до конца процедуры,где последний вызов мессагебоха о верном пассе! Итого: Первый вызов,если длина не соответствует. Последний вызов,если всё правильно. Остальные 10,если символы не совпадают!
1QrcogW6t02, а выглядит както так: int __fastcall Ooops(int a1) { int v1; // ST04_4@1 char v3; // zf@3 char v4; // zf@5 char v5; // zf@7 char v6; // zf@9 char v7; // zf@11 char v8; // zf@13 char v9; // zf@15 char v10; // zf@17 char v11; // zf@19 char v12; // zf@21 int v13; // [sp+4h] [bp-8h]@1 int v14; // [sp+0h] [bp-Ch]@1 int v15; // [sp+8h] [bp-4h]@1 int v16; // [sp-Ch] [bp-18h]@1 v13 = 0; v14 = 0; v15 = a1; System____linkproc___LStrAddRef(); v1 = *MK_FP(__FS__, 0); *MK_FP(__FS__, 0) = &v16; if ( sub_4044C4(v15) < 3 ) check_sym(123); System____linkproc___LStrLAsg((int)&v14, v15); System____linkproc___LStrCopy(&v13); System____linkproc___LStrCmp(); if ( v3 ) { System____linkproc___LStrDelete(); System____linkproc___LStrCopy(&v13); System____linkproc___LStrCmp(); if ( v4 ) { System____linkproc___LStrDelete(); System____linkproc___LStrCopy(&v13); System____linkproc___LStrCmp(); if ( v5 ) { System____linkproc___LStrDelete(); System____linkproc___LStrCopy(&v13); System____linkproc___LStrCmp(); if ( v6 ) { System____linkproc___LStrDelete(); System____linkproc___LStrCopy(&v13); System____linkproc___LStrCmp(); if ( v7 ) { System____linkproc___LStrDelete(); System____linkproc___LStrCopy(&v13); System____linkproc___LStrCmp(); if ( v8 ) { System____linkproc___LStrDelete(); System____linkproc___LStrCopy(&v13); System____linkproc___LStrCmp(); if ( v9 ) { System____linkproc___LStrDelete(); System____linkproc___LStrCopy(&v13); System____linkproc___LStrCmp(); if ( v10 ) { System____linkproc___LStrDelete(); System____linkproc___LStrCopy(&v13); System____linkproc___LStrCmp(); if ( v11 ) { System____linkproc___LStrDelete(); System____linkproc___LStrCopy(&v13); System____linkproc___LStrCmp(); if ( v12 ) check_sym(333); else check_sym(123); } else { check_sym(123); } } else { check_sym(123); } } else { check_sym(123); } } else { check_sym(123); } } else { check_sym(123); } } else { check_sym(123); } } else { check_sym(123); } } else { check_sym(123); } } else { check_sym(123); } *MK_FP(__FS__, 0) = v1; return System____linkproc___LStrArrayClr(); } криво конечно декомпайл, но както так. vX до 12 и есть буковки билдерц++б версия хз. пакер - упак