Сейчас на форуме: _MBK_, ManHunter, Magister Yoda, rtsgreg1989 (+9 невидимых)

 eXeL@B —› Основной форум —› Активация XP с SP2
<< . 1 . 2 .
Посл.ответ Сообщение

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

Создано: 29 сентября 2004 06:54 · Поправил: Модератор
· Личное сообщение · #1

Осталось тут три дня до активации, а никакие кряки существующие не помогли, пришлось самому копать эту активацию. Оказалось, что если пропатчить один переход в winlogon'е, то активация проверяться не будет. Кряк работает на XP Pro SP2 точно, насчёт других комбинаций не знаю.




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 26 июня 2005 22:07
· Личное сообщение · #2

RideX
обойтись только одной DLL
Типа так?

типа как это делается, когда патчится ASProtectченнная прога, которая грузит DLL
т.о. получается универсальное решение, не нарушающее целостность файла

добавить в код DllMain какой-либо из библиотек, кот. грузит winlogon, пропатчивание самого winlogon'a

-----
EnJoy!




Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 26 июня 2005 22:13 · Поправил: Asterix
· Личное сообщение · #3

RideX пишет:
Типа так?


Именно так.

только в обработчике DLL_PROCESS_ATTACH
нужно возвращать TRUE, иначе ниЧЧё не получится,
т.е. DLL не загрузится ;)



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

Создано: 27 июня 2005 05:54
· Личное сообщение · #4

Asterix пишет:
все существующие кейгены только для так
называемых корпоративных версий


Для корпоративных версий активация вообще не требуется ;)



Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 27 июня 2005 06:07
· Личное сообщение · #5

S_T_A_S_ пишет:
Для корпоративных версий активация вообще не требуется ;)


Там все-равно нужен кейген, который генерит установочный номер,
потом можно проверить свежеустановленную систему с этим номером
на сайте MS ;)



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

Создано: 27 июня 2005 11:04
· Личное сообщение · #6

Asterix пишет:
потом можно проверить свежеустановленную систему с этим номером
на сайте MS

не, уже низзя.
я раньше так и делал, но все время получал ответ типа, ваш номер вроде пирейтед. обратитесь к сисадмину за другим номером. на ру-борде прочел, что для корпоративки д.б. 640-642.
накачал новых кейгенов, сгенерил, полез на MS проверить - а там такого сервиса уже нет!
пишут про то как отличить правильную винду от пиратской - всякие там лейблы, сертификаты и голограммы.
а если сомневаетесь, грят, пришлите ваш продукт нам на экспертизу. LOL!
видимо последние кейгены действительно хороши, не могут больше MS по сидикею пиратов ловить!



Ранг: 42.0 (посетитель)
Активность: 0.040
Статус: Участник

Создано: 27 июня 2005 18:57
· Личное сообщение · #7

Asterix пишет:
нужно возвращать TRUE, иначе ниЧЧё не получится, т.е. DLL не загрузится ;)

А я подумал зачем DLL в памяти болтаться, после того как сделает свою работу =)
У меня это работает одинаково с TRUE/FALSE:

.486
.model flat,stdcall
option casemap :none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib

.data
szCaption TCHAR "DLLApp",0
szHello TCHAR "Hello from DLL",0

bNewByte BYTE 090h
hProcess HANDLE ?

.code
DllMain proc hInstance :HINSTANCE, dwReason WORD, lpReserved :LPVOID
.if dwReason == DLL_PROCESS_ATTACH
invoke GetCurrentProcessId
invoke OpenProcess, PROCESS_ALL_ACCESS, FALSE, eax
.if eax != NULL
mov hProcess,eax
invoke WriteProcessMemory, hProcess, 00401000h, addr bNewByte,\
sizeof bNewByte, NULL
invoke CloseHandle,hProcess
.endif
invoke MessageBox, NULL, addr szHello, addr szCaption, MB_ICONINFORMATION
.endif
xor eax,eax
; inc eax
ret
DllMain endp
end DllMain




Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 27 июня 2005 19:13
· Личное сообщение · #8

RideX пишет:
А я подумал зачем DLL в памяти болтаться, после того как сделает свою работу =)


В принципе тоже мысль правильная ;)

Что до листинга то GetCurrentProcess будет вполне достаточно ;)
также неплохо перед тем как патчить узнать адрес загрузки exe, мало ли что ;)



Ранг: 42.0 (посетитель)
Активность: 0.040
Статус: Участник

Создано: 27 июня 2005 22:11
· Личное сообщение · #9

Asterix
У меня диск SP2 уже полгода наверное лежит, всё пока никак не решусь поставить (сейчас стоИт SP1 + несколько заплаток). А antiwpa для SP2 не нравится тем, что процесс постоянно висит в памяти, метод предложенный dragon лучше

Только что проверил, winlogon не грузит DLL если нет ключа:
"Logon"=<export_funcname_from_dll>

но хотя бы пустой ключ его устраивает В остальном наша DLL отрабатывает как ожидалось и не висит в памяти. Теперь уже точно можно будет переходить к "упражнениям" с самим winlogon ;)



Ранг: 42.0 (посетитель)
Активность: 0.040
Статус: Участник

Создано: 27 июня 2005 22:33
· Личное сообщение · #10

Asterix пишет:
GetCurrentProcess будет вполне достаточно ;)

Просто мне показалось это более надёжным %)

1. The GetCurrentProcess function retrieves a pseudo handle for the current process.
2. The GetCurrentProcessId function retrieves the process identifier of the calling process.





Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 27 июня 2005 22:57
· Личное сообщение · #11

RideX
А antiwpa для SP2 не нравится тем, что процесс постоянно висит в памяти
AntiWPA c antiwpa3.tk/ патчит winlogon, a не висит в памяти
но в любом случае корпоративная версия предпочтительнее
в сети полно ресурсов о том, как самому сделать корпоративный образ XP

-----
EnJoy!




Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 28 июня 2005 03:45
· Личное сообщение · #12

RideX
В случае использования GetCurrentProcess тебе не нужно открывать процесс,
у тебя и так будет хэндл

invoke WriteProcessMemory, $invoke(GetCurrentProcess), 00401000h, addr bNewByte,\
sizeof bNewByte, NULL



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 28 июня 2005 11:03
· Личное сообщение · #13

я про кейгены от again и zwt... как??? можно было закейгенить ecc-512??? кто-нить в курсе, что за дырки были в реализации



Ранг: 192.3 (ветеран), 18thx
Активность: 0.120
Статус: Участник
stoned machine-gunner

Создано: 28 июня 2005 11:19
· Личное сообщение · #14

ssx
ктож об этом расскажет... но я могу попробовать уточнить у мемберов again

-----
once you have tried it, you will never want anything else




Ранг: 42.0 (посетитель)
Активность: 0.040
Статус: Участник

Создано: 28 июня 2005 17:46
· Личное сообщение · #15

Jupiter
Просто я у кого-то видел, а т.к. больше крэков к SP2 не знаю, то подумал что это и есть antiwpa.



Ранг: 42.0 (посетитель)
Активность: 0.040
Статус: Участник

Создано: 28 июня 2005 17:48
· Личное сообщение · #16

Asterix
Понял, тогда значит так?

.486
.model flat,stdcall
option casemap :none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib


.data
szCaption TCHAR "DLLApp",0
szHello TCHAR "Hello from DLL. Dump right now!",0

align 4
dwOffsets DWORD 00001000h, 00001001h, 00001002h, 00001003h, 00001004h
DWORD 00001005h, 00001006h, 00001007h, 00001008h, 00001009h

bNewBytes BYTE 090h, 090h, 090h, 090h, 090h, 090h, 090h, 090h, 090h, 090h
nNewBytes equ $ - bNewBytes


.code
DllMain proc hInstance :HINSTANCE, dwReason WORD, lpReserved :LPVOID
.if dwReason == DLL_PROCESS_ATTACH
pushad
invoke GetModuleHandle, NULL
mov edx,eax
invoke GetCurrentProcess

xor ecx,ecx
mov ebx,offset dwOffsets
mov esi,offset bNewBytes
@@:
pushad
add esi,ecx
mov edi,[ebx + ecx*4]
add edi,edx
invoke WriteProcessMemory, eax, edi, esi, 1, NULL
popad
inc ecx
cmp ecx,nNewBytes
je @f
jmp @b
@@:
invoke MessageBox, NULL, addr szHello, addr szCaption, MB_ICONINFORMATION
popad
.endif
xor eax,eax
ret
DllMain endp
end DllMain




Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 28 июня 2005 18:29 · Поправил: Asterix
· Личное сообщение · #17

зачем pushad/popad
просто пишешь DllMain proc uses ebx esi edi hInstance :HINSTANCE, dwReason WORD, lpReserved :LPVOID

> mov edx,eax
> invoke GetCurrentProcess

так нельзя, MS не гаранирует сохранность eax, edx, ecx после GetCurrentProcess

а побайтная запись через WriteProcessMemory тоже для прикола?



Ранг: 42.0 (посетитель)
Активность: 0.040
Статус: Участник

Создано: 28 июня 2005 19:44
· Личное сообщение · #18

Asterix пишет:
uses ebx esi edi

если так, то они будут находиться сразу после пролога, я сохраняю только там где их использую - в обработчике DLL_PROCESS_ATTACH. Или это без разницы?

Asterix пишет:
MS не гаранирует сохранность eax, edx, ecx

Точно, тогда

invoke GetModuleHandle, NULL
push eax
invoke GetCurrentProcess
pop edx


Asterix пишет:
побайтная запись через WriteProcessMemory тоже для прикола?

Не, это если нужно писАть по байту по нескольким разным адресам, иначе конечно блоком и цикл отсюда выбросить %)



Ранг: 42.0 (посетитель)
Активность: 0.040
Статус: Участник

Создано: 29 июня 2005 10:41
· Личное сообщение · #19

Asterix пишет:
MS не гаранирует сохранность eax, edx, ecx

Блин, тормознул, просто ebx,esi или edi


<< . 1 . 2 .
 eXeL@B —› Основной форум —› Активация XP с SP2
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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