Сейчас на форуме: asfa, _MBK_ (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Проверить и по жеданию оценить проделанную работу по взлому крэкмисов от фантома.
Посл.ответ Сообщение

Ранг: 40.4 (посетитель), 3thx
Активность: 0.080
Статус: Участник

Создано: 19 декабря 2009 22:24
· Личное сообщение · #1

Всем привет! Вот сидел за компом 12 часов и взломал целых 3 крэкмиса от фантома. Но у меня есть некоторые сомнения насчет самих креков. Дело в том, что во 2-м крэкми от фантома, я просто запретил вывод первого наг скрина и удалил (с помощью DestroyWindow) второй наг диалог. Но вот я не уверен ,что это есть правельный путь решения задачи. Выкладываю сюды свой кряк вам на рассмотрение.
~~~~~~~~~~~
Еще просьба. Проверьте мой третий крек для 3-его крэкмис от фантома. Там я просто поменял местами окна. Также неуверен в правельности решения поставленной задачи. Прошу проверки. Выкладываю свой 2-й кряк.

Всем заранее огромноЁ спасибо за проявленное внимание.

15ec_19.12.2009_CRACKLAB.rU.tgz - 2_crack`s_by_fantom.rar



Ранг: 158.7 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 19 декабря 2009 23:40
· Личное сообщение · #2

И все таки на месте модератора я бы дал тебе бан, что бы ты не плодил по 5 тем на дню "что да как и почему", а сел и почитал по человечески теорию. Чего ты ждешь от участников, что они полезут ковырятся в твоих кряках, для того что бы сказать тебе как ты крут? Хоть раздел и для новичков, но сие не значит, что флуд приветствуется...

-----
Я ещё не волшебник, я только учусь...





Ранг: 67.4 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 20 декабря 2009 00:06
· Личное сообщение · #3

Что там именно проверять? Учите, читайте, пробуйте.




Ранг: 147.7 (ветеран), 50thx
Активность: 0.120
Статус: Участник
sv_cheats 1

Создано: 20 декабря 2009 04:49 · Поправил: SER[G]ANT
· Личное сообщение · #4

ZLOvar
с 1 крякми можно и так, как вы поступили. Хотя это и более сложное решение, но будем считать, что вы мыслите нестандартно, что, впринципе, хорошо.
со 2, увы, вы не правы.
Дело в том, что суть этого крякми не вывод окна "Все ништяк", а чтобы программка считала, что она запущена от туда, откуда надо (типа нынешнего старфорса, только защита 90 годов). Если бы это была игра, или же программа которая требует запуска с CD\DVD-ROMа, то поменять местами мессаджбоксы врятли было бы достаточно.

Вам нужно поставить брейкпоинт на API "GetDriveTypeA" и нажать на кнопку "CD Check"
и вы попадете сюда
Code:
  1. 004011FA |. 6A00       push 00h       ; /RootPathName = NULL
  2. 004011FC |. E899000000 call 0040129Ah ; \GetDriveTypeA
  3. 00401201 |. 83F805     cmp eax , 05h
  4. 00401204 |. 7417       je 0040121Dh
  5. 00401206 |. 6A30       push 30h       ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
  6. 00401208 |. 6814304000 push 00403014h ; |Title = "FaNt0m's CrackMe #3 -- CD Check"
  7. 0040120D |. 6840304000 push 00403040h ; |Text = "Error finding CDROM"
  8. 00401212 |. 6A00       push 00h       ; |hOwner = NULL
  9. 00401214 |. E851000000 call 0040126Ah ; \MessageBoxA
  10. 00401219 |. C9         leave
  11. 0040121A |. C20400     retn 0004h
  12. 0040121D |> 6A00       push 00h       ; /Style = MB_OK|MB_APPLMODAL
  13. 0040121F |. 6814304000 push 00403014h ; |Title = "FaNt0m's CrackMe #3 -- CD Check"
  14. 00401224 |. 6854304000 push 00403054h ; |Text = "Found a CDROM! Good job!"
  15. 00401229 |. 6A00       push 00h       ; |hOwner = NULL
  16. 0040122B |. E83A000000 call 0040126Ah ; \MessageBoxA
  17. 00401230 |. C9         leave
  18. 00401231 \. C20400     retn 0004h


Здесь мы видим 2 мессаджбокса, но они нам не нужны. Самое главное тут

Code:
  1.  
  2. 004011FA |. 6A00       push 00h       ; /RootPathName = NULL
  3. 004011FC |. E899000000 call 0040129Ah ; \GetDriveTypeA
  4. 00401201 |. 83F805     cmp eax , 05h
  5. 00401204 |. 7417       je 0040121Dh


Сначала идет обращение к функции GetDriveTypeA, которая помещает в eax тип диска, на котором программа была запущена.
Если воспользоваться msdn
http://msdn.microsoft.com/en-us/library/aa364939%28VS.85%29.aspx
то мы узнаем что

---------------------------------------------
Return Value

The return value specifies the type of drive, which can be one of the following values.

Return code/value Description

DRIVE_UNKNOWN The drive type cannot be determined.
0
DRIVE_NO_ROOT_DIR The root path is invalid; for example, there is no volume mounted at the specified path.
1
DRIVE_REMOVABLE The drive has removable media; for example, a floppy drive, thumb drive, or flash card reader.
2
DRIVE_FIXED The drive has fixed media; for example, a hard drive or flash drive.
3

DRIVE_REMOTE The drive is a remote (network) drive.
4
DRIVE_CDROM The drive is a CD-ROM drive.
5

DRIVE_RAMDISK The drive is a RAM disk.
6
---------------------------------------------------------------------- -------
Затем идет cmp eax , 05h, т.е. сравнение eax с 5 (из msdn мы узнали, что 5 означает CD/DVD-ROM).
И если eax = 5, т.е. запустили с диска, то выполняется условие je 0040121Dh и идет переход на сообщение "Found a CDROM! Good". Но, т.к. мы запустили крякми с HDD, то, в данный момент, eax = 3, условие je 0040121Dh не выполняется и поэтому, вместо "Found a CDROM! Good", мы увидим "Error finding CDROM", т.к. 3 (eax) не равно 5.
Чтобы решить данный крекми правильно, нам нужно
Code:
  1. 00401201 |. 83F805 cmp eax , 05h

заменить на
Code:
  1. 00401201 |. 83F805 cmp eax , 03h

Т.е. теперь программа будет проверять не "Запущена ли я с CD-ROMa ?", а "Запущена ли я с HDD ?"


Можно пойти более легким путем, заменив условный переход
Code:
  1. 00401204 |. 7417 je 0040121Dh

на безусловный
Code:
  1. 00401204 /EB17 jmp 0040121Dh

и теперь, не зависимо от того, что находится в eax, т.е. не зависимо откуда была запущенна программа, будет выполнятся переход на мессаджбокс с "Found a CDROM! Good".

upd
уж как многобукв получилось для такого простенького крекми)




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 20 декабря 2009 09:22
· Личное сообщение · #5

Критерий здесь один: работает-значит, сломал. Другой вопрос, что из-за корявых патчей вероятность работоспособности будет снижаться с ростом числа всяких неявных проверок.
В общем, сиди, читай статьи и работай дальше. А когда будет уже конкретный вопрос, который сам не сможешь решить как минимум за неделю, вот тогда и приходи его задавать. 3 дня тебе отдыха за кучу топиков.


 eXeL@B —› Вопросы новичков —› Проверить и по жеданию оценить проделанную работу по взлому крэкмисов от фантома.
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати