Сейчас на форуме: ut2004, vsv1 (+5 невидимых)

 eXeL@B —› Вопросы новичков —› crackme0x03 ?
Посл.ответ Сообщение


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 04 сентября 2006 16:36
· Личное сообщение · #1

Вот программа из книги К.Касперского:

Source Code of crackme0x03:

#include <stdio.h>
#include <windows.h>

__declspec(dllexport) void Demo()
{
function body;
}

main()
{
HMODULE hmod;
void (*zzz)();
if((hmod=LoadLibrary("crack0~1.exe"))
&&(zzz=(void (*)())GetProcAddres(hmod,"Demo")))

zzz();
}
Первый вопрос:
как мы можем использовать "crack0~1.exe" вместо "crackme0x03.exe" в качестве аргумента для LoadLibrary? Я имею ввиду, по идее должно быть 8 characters "crack0~3.exe".
Второй вопрос:
Крис говорит, что две копии будут загружены одновременно:
:mod -u
hMod Base PEHeader Module Name
00400000 00400D8 crack0x0 crack0x03.exe
00420000 00400D8 crack0x0 crack0x03.exe


а у меня загружена только одна копия, а программа работает нормально. В чем тут дело?
Заранее спасибо за помощь!

-----
Give me a HANDLE and I will move the Earth.




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 05 сентября 2006 02:08
· Личное сообщение · #2

plutos пишет:
как мы можем использовать "crack0~1.exe" вместо "crackme0x03.exe"

Это так называемые короткие имена : 6 букв имени, ~, и номера 1 и т.д. Если в папке будет два длинных имени crackm.... - будет номер два и т.д. В тексте явно опечатка - должно быть crackm~1.exe
Поэтому и нет второй копии, наверное. Лучше выдать команду dir /X и посмотреть "правильное имя".


 eXeL@B —› Вопросы новичков —› crackme0x03 ?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати