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

 eXeL@B —› Основной форум —› Подскажите, второй день мучаюсь
. 1 . 2 . >>
Посл.ответ Сообщение

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

Создано: 26 февраля 2005 19:34
· Личное сообщение · #1

Излазил прогу вдоль и поперёг
Мож подскажите где ловить надо

Вот интересное место:
0044F8B0 $ 55 PUSH EBP
0044F8B1 . 8BEC MOV EBP, ESP
0044F8B3 . 6A FF PUSH -1
0044F8B5 68 50E14500 PUSH FontRese.0045E150
0044F8BA . 68 D01D4500 PUSH FontRese.00451DD0 ; SE handler installation
0044F8BF . 64:A1 00000000 MOV EAX, [DWORD FS:0]
0044F8C5 . 50 PUSH EAX
0044F8C6 . 64:8925 000000>MOV [DWORD FS:0], ESP
0044F8CD . 83EC 10 SUB ESP, 10
0044F8D0 . 53 PUSH EBX
0044F8D1 . 56 PUSH ESI
0044F8D2 . 57 PUSH EDI
0044F8D3 . 8965 E8 MOV [DWORD SS:EBP-18], ESP
0044F8D6 . C745 FC 000000>MOV [DWORD SS:EBP-4], 0
0044F8DD . 8B7D 08 MOV EDI, [DWORD SS:EBP+8]
0044F8E0 . 8BF7 MOV ESI, EDI
0044F8E2 > 8975 E4 MOV [DWORD SS:EBP-1C], ESI
0044F8E5 . 803E 20 CMP [BYTE DS:ESI], 20
0044F8E8 . 75 03 JNZ SHORT FontRese.0044F8ED
0044F8EA . 46 INC ESI
0044F8EB .^EB F5 JMP SHORT FontRese.0044F8E2
0044F8ED > 3BF7 CMP ESI, EDI
0044F8EF . 74 13 JE SHORT FontRese.0044F904
0044F8F1 . 56 PUSH ESI ; /String
0044F8F2 . FF15 34D14500 CALL [DWORD DS:<&KERNEL32.lstrlenA>] ; \lstrlenA
0044F8F8 . 40 INC EAX
0044F8F9 . 50 PUSH EAX
0044F8FA . 56 PUSH ESI
0044F8FB . 57 PUSH EDI
0044F8FC . E8 6F320000 CALL FontRese.00452B70
0044F901 . 83C4 0C ADD ESP, 0C
0044F904 > 57 PUSH EDI ; /String
0044F905 . FF15 34D14500 CALL [DWORD DS:<&KERNEL32.lstrlenA>] ; \lstrlenA
0044F90B . 03C7 ADD EAX, EDI
0044F90D > 8945 E4 MOV [DWORD SS:EBP-1C], EAX
0044F910 . 3BC7 CMP EAX, EDI
0044F912 . 72 0B JB SHORT FontRese.0044F91F
0044F914 . 8038 20 CMP [BYTE DS:EAX], 20
0044F917 . 7F 06 JG SHORT FontRese.0044F91F
0044F919 . C600 00 MOV [BYTE DS:EAX], 0
0044F91C . 48 DEC EAX
0044F91D .^EB EE JMP SHORT FontRese.0044F90D
0044F91F > C745 FC FFFFFF>MOV [DWORD SS:EBP-4], -1
0044F926 . EB 25 JMP SHORT FontRese.0044F94D
0044F928 . 8B45 EC MOV EAX, [DWORD SS:EBP-14]
0044F92B . 8B08 MOV ECX, [DWORD DS:EAX]
0044F92D . 8B01 MOV EAX, [DWORD DS:ECX]
0044F92F . 68 50030000 PUSH 350 ; /Arg3 = 00000350
0044F934 . 68 AC864600 PUSH FontRese.004686AC ; |Arg2 = 004686AC ASCII "D:\CVSProjectsRoot\DiamondSoft\FontReserve PC\Fn3Main\procUtils.c"
0044F939 . 50 PUSH EAX ; |Arg1
0044F93A . E8 41C4FEFF CALL FontRese.0043BD80 ; \FontRese.0043BD80
0044F93F . C3 RETN






Ранг: 200.3 (наставник)
Активность: 0.090
Статус: Участник

Создано: 26 февраля 2005 20:15
· Личное сообщение · #2

dragon-gor-функция lstrlenA-вычисляет длинну введённой строки в байтах (0044F905 . FF15 34D14500 CALL [DWORD DS:<&KERNEL32.lstrlenA>] ; \lstrlenA),
а [b]0044F910 . 3BC7 CMP EAX, EDI -сравнивает содержимое EAX и EDI
0044F912 . 72 0B JB SHORT FontRese.0044F91F-если меньше, то прыгаем
0044F91F > C745 FC FFFFFF>MOV [DWORD SS:EBP-4], -1
0044F926 . EB 25 JMP SHORT FontRese.0044F94D-а здесь листинг ты не дал
З.Ы. у меня вында тоже на D:\ стоит.Если я что-то не так описал то сорри

-----
Само плывет в pуки только то, что не тонет.




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

Создано: 26 февраля 2005 21:38
· Личное сообщение · #3

0044F940 . 8B65 E8 MOV ESP, [DWORD SS:EBP-18]
0044F943 . C745 FC FFFFFF>MOV [DWORD SS:EBP-4], -1
0044F94A . 8B7D 08 MOV EDI, [DWORD SS:EBP+8]
0044F94D > 8BC7 MOV EAX, EDI
0044F94F . 8B4D F0 MOV ECX, [DWORD SS:EBP-10]
0044F952 . 64:890D 000000>MOV [DWORD FS:0], ECX
0044F959 . 5F POP EDI
0044F95A . 5E POP ESI
0044F95B . 5B POP EBX
0044F95C . 8BE5 MOV ESP, EBP
0044F95E . 5D POP EBP
0044F95F . C2 0400 RETN 4



Ранг: 200.3 (наставник)
Активность: 0.090
Статус: Участник

Создано: 26 февраля 2005 21:47
· Личное сообщение · #4

dragon-gor-наверно надо заменить 0044F912 . 72 0B на 0044F912 . EB 0B - попробуй, может получится

-----
Само плывет в pуки только то, что не тонет.





Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 26 февраля 2005 23:45
· Личное сообщение · #5

dragon-gor пишет:
Подскажите, второй день мучаюсь

как бы заставить старых участников форума новые правила прочитать

-----
Всем не угодишь




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

Создано: 27 февраля 2005 08:56
· Личное сообщение · #6

Bad_guy пишет:
как бы заставить старых участников форума новые правила прочитать

OK пошёл читать.



Ранг: 200.3 (наставник)
Активность: 0.090
Статус: Участник

Создано: 27 февраля 2005 09:59
· Личное сообщение · #7

dragon-gor-ну как, помогло?


-----
Само плывет в pуки только то, что не тонет.




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

Создано: 27 февраля 2005 10:37
· Личное сообщение · #8

DrFits пишет:
ну как, помогло?

Нет. Буду пробывать методом тыка.




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

Создано: 27 февраля 2005 11:35
· Личное сообщение · #9

Что за прога? Где ссылка? Что смотреть?

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




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

Создано: 27 февраля 2005 13:10
· Личное сообщение · #10

Прога Font Reserve 2.6.5
доступен по адресу: webfile.ru/200829 в течение 21 день до 13:04 20.03.2005.
В НЕТе только кряки, а я хочу научиться.......




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

Создано: 28 февраля 2005 14:43
· Личное сообщение · #11

Font Reserve 2.6.5

FontReserve.exe (770 048 byte)

Начало запроса и проверки серийника:


.text:0041D225 loc_41D225: ; CODE XREF: sub_41D1D0+2Bj
.text:0041D225 mov esi, [esp+108h+hWnd]
.text:0041D22C lea edx, [esp+108h+String]
.text:0041D230 push 100h ; nMaxCount
.text:0041D235 push edx ; lpString
.text:0041D236 push 46Dh ; nIDDlgItem
.text:0041D23B push esi ; hDlg
.text:0041D23C mov [esp+118h+String], 0
.text:0041D241 call ds:GetDlgItemTextA
.text:0041D247 lea eax, [esp+108h+String]
.text:0041D24B push eax
.text:0041D24C call sub_44F8B0
.text:0041D251 mov al, [esp+108h+String]
.text:0041D255 test al, al
.text:0041D257 jnz short loc_41D2A1
.text:0041D259 push 30h
.text:0041D25B push 625h


далее:

.text:0041D2A1 loc_41D2A1: ; CODE XREF: sub_41D1D0+87j
.text:0041D2A1 lea ecx, [esp+108h+String]
.text:0041D2A5 push ecx
.text:0041D2A6 call sub_450590
.text:0041D2AB test eax, eax
.text:0041D2AD jnz short loc_41D2B8
.text:0041D2AF push 30h
.text:0041D2B1 push 626h
.text:0041D2B6 jmp short loc_41D260
.text:0041D2B8 ; ---------------------------------------------------------------------- -----
.text:0041D2B8
.text:0041D2B8 loc_41D2B8: ; CODE XREF: sub_41D1D0+DDj
.text:0041D2B8 lea edx, [esp+108h+String]
.text:0041D2BC push edx
.text:0041D2BD push offset aSerialNumber ; "Serial Number"
.text:0041D2C2 push 0FA3h
.text:0041D2C7 call sub_447840
.text:0041D2CC push 1 ; nResult
.text:0041D2CE push esi ; hDlg
.text:0041D2CF call ds:EndDialog
.text:0041D2D5
.text:0041D2D5 loc_41D2D5: ; CODE XREF: sub_41D1D0+18j
.text:0041D2D5 ; sub_41D1D0+2Ej
.text:0041D2D5 pop edi
.text:0041D2D6 xor eax, eax
.text:0041D2D8 pop esi
.text:0041D2D9 add esp, 100h
.text:0041D2DF retn 10h


от сюда уже можно и дальше рыскать ;)

-----
EnJoy!





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

Создано: 28 февраля 2005 17:44
· Личное сообщение · #12

В ехе-шке смещение 1d2ad было 75 надо 74,
смещение 1ea79 было 74 надо 75. Так? Если нет, то пинать не надо , а лучше объясните.
Может снимает не все, но я так и не понял, как проверить. Но теперь хавает любой серийник и не сбрасывает его в реестре после перезагрузки системы.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





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

Создано: 28 февраля 2005 17:46
· Личное сообщение · #13

Упс, читать не системы, а программы. Сорри

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




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

Создано: 28 февраля 2005 20:48
· Личное сообщение · #14

ValdiS пишет:
смещение 1d2ad было 75 надо 74

Это где такое?



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

Создано: 28 февраля 2005 21:37
· Личное сообщение · #15

Что такое?
Программа таже, а код различается?
Вот процедура
0044F904 > 57 PUSH EDI ; /String = "1234567890"
0044F905 . FF15 34D14500 CALL [DWORD DS:<&KERNEL32.lstrlenA>] ; \lstrlenA

здесь "загружает" 8 значное число
77E8BA23 8B45 08 MOV EAX, [DWORD SS:EBP+8]
77E8BA26 85C0 TEST EAX, EAX
77E8BA28 74 21 JE SHORT kernel32.77E8BA4B
77E8BA2A 8365 FC 00 AND [DWORD SS:EBP-4], 0
77E8BA2E 8D50 01 LEA EDX, [DWORD DS:EAX+1]
77E8BA31 8A08 MOV CL, [BYTE DS:EAX]
77E8BA33 40 INC EAX
77E8BA34 84C9 TEST CL, CL
77E8BA36 ^75 F9 JNZ SHORT kernel32.77E8BA31
77E8BA38 2BC2 SUB EAX, EDX
77E8BA3A 834D FC FF OR [DWORD SS:EBP-4], FFFFFFFF
77E8BA3E EB 0D JMP SHORT kernel32.77E8BA4D
77E8BA40 33C0 XOR EAX, EAX
77E8BA42 40 INC EAX

далее интересней
00450590 /$ 8B4C24 04 MOV ECX, [DWORD SS:ESP+4]
00450594 |. 83EC 28 SUB ESP, 28
00450597 |. 8D4424 00 LEA EAX, [DWORD SS:ESP]
0045059B |. 50 PUSH EAX ; /Arg2 = 0012F458
0045059C |. 51 PUSH ECX ; |Arg1 = нашь SN
0045059D |. E8 DECDFCFF CALL FontRese.0041D380 ; \FontRese.0041D380
004505A2 |. 85C0 TEST EAX, EAX
004505A4 |. 75 06 JNZ SHORT FontRese.004505AC
004505A6 |. 83C4 28 ADD ESP, 28
004505A9 |. C2 0400 RETN 4

Вот весчь какая, в крякми4 от фонтома есть аналог этого значения (Arg1 , Arg2), только онипназываются String.
Пробывал я его вводить - кага.
Далее условный переход (вот он тересылает на правильную регистрацию). Кстати как на него прыгать?




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

Создано: 01 марта 2005 00:25
· Личное сообщение · #16

ValdiS пишет:
В ехе-шке смещение 1d2ad было 75 надо 74,
смещение 1ea79 было 74 надо 75

В файле FontReserve.exe в Hiew по смещению 1d2ad было 75 надо 74,
смещение 1ea79 было 74 надо 75. Просто поменять...


-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




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

Создано: 01 марта 2005 06:02
· Личное сообщение · #17

ValdiS пишет:
1d2ad
'nj адрес?
Чтото я уже тупить стал.
Да откуда ты решил, исходя из чего?




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

Создано: 01 марта 2005 08:24
· Личное сообщение · #18

В Olly посмотри код по адресам 41d2ad и 41ea79. Я сам новичок, поэтому также могк что-то путать. Но патчишь 7509 на 7409 по первому адресу, и прога "принимает" любой серийник. До своего перезапуска. А поменяв 740с на 750с по второму адресу, заставляем прогу считать введенный ранее серийник верным (серийник хранится в реестре в разделе HKEY_LOCAL_MACHINE\SOFTWARE\DiamondSoft\Font Reserve\2.6\System ключик Serial Number). Конечно, это может и не все. Но, если честно, я не смог найти отличий между демо и пропатченной прогой. Может плохо искал...

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




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

Создано: 01 марта 2005 09:56
· Личное сообщение · #19

Блин а я в реестр несмотрел.
Скажи правильный ли адрес генерации серийника (450590)
охота просчитать его (если получится).



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

Создано: 01 марта 2005 09:56
· Личное сообщение · #20

Ограничения я сам не знаю



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

Создано: 01 марта 2005 10:06
· Личное сообщение · #21

Кстати в НЕТ`е есть только патч и он (как пишут) вводят любой серийник!!!




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

Создано: 01 марта 2005 11:15
· Личное сообщение · #22

dragon-gor пишет:
Кстати в НЕТ`е есть только патч и он (как пишут) вводят любой серийник!!!


Действительно, есть кряк от Desperate
crackteam.ws/get.shtml?208694
после патча вводишь любой номер

различий: 3
Offsets: hex/dec/VA new/old

1D2AD/119469/41D2AD: 74 75 (je <- jnz)
1D325/119589/41D325: 75 74 (jnz <- je)
1EA79/125561/41EA79: 75 74 (jnz <- je)

т.о. патчится проверка проверки ;)
т.е. не самый лучший вариант, т.к. если в eax будет не 0 (или наоборот) - как в случае с правильным серийником, то валидный sn может быть признан невалидным

проверка:
по адресу 00450590

00450590 /$ 8B4C24 04 mov ecx, dword ptr ss:[esp+4]
00450594 |. 83EC 28 sub esp, 28
00450597 |. 8D4424 00 lea eax, dword ptr ss:[esp]
0045059B |. 50 push eax ; /Arg2 = 00000000
0045059C |. 51 push ecx ; |Arg1 = 01010101
0045059D |. E8 DECDFCFF call FontRese.0041D380 ; \FontRese.0041D380
004505A2 |. 85C0 test eax, eax
004505A4 |. 75 06 jnz short FontRese.004505AC
004505A6 |. 83C4 28 add esp, 28
004505A9 |. C2 0400 retn 4
004505AC |> 6A 06 push 6
004505AE |. 8D5424 04 lea edx, dword ptr ss:[esp+4]
004505B2 |. 68 60E14500 push FontRese.0045E160
004505B7 |. 52 push edx
004505B8 |. E8 33CFFCFF call FontRese.0041D4F0
004505BD |. 83C4 28 add esp, 28
004505C0 \. C2 0400 retn 4


вызывается 3 раза из:
0041D2A6, 0041D31E, 0041EA72


собственно серийник проверяется по адресу 0041D380
именно здесь и следует смотреть, чтобы написать кейген.


4fd7_Font.Reserve.v2.6.5_Desperate.rar

-----
EnJoy!





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

Создано: 01 марта 2005 15:10
· Личное сообщение · #23

dragon-gor пишет:
Ограничения я сам не знаю

Из хелпа: If you want to install a demo version of Font
Reserve, leave the serial number field blank. A
demo version of Font Reserve is limited to
managing 100 font files. If you later purchase
Font Reserve, you can enter a serial number by
choosing Serial Number from the Help menu.

Хотя я разницы не заметил.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




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

Создано: 01 марта 2005 18:17
· Личное сообщение · #24

Jupiter пишет:
патчится проверка проверки

Jupiter пишет:
валидный sn может быть признан невалидным


нус подчитаем




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

Создано: 03 марта 2005 13:11
· Личное сообщение · #25

dragon-gor, ну, как дела? Разобрался?
Что проверяет 1D325/119589/41D325: 75 74 (jnz <- je)?
Самому нет времени разобраться, работа уже замучала.
Расскажи что к чему!

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




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

Создано: 03 марта 2005 14:16
· Личное сообщение · #26

Вот млин тоже добрался (наконец интерьерщиков доучил, а то паши по 12 часов), хочу кейген зделать (хотеть не вредно). А насчёт переходов заморачивался значит поменял:
41d2ad jne(zf=0) на je(zf=1)
41d325 je(zf=1) на jne(zf=0)
Проверил всё ОК пишет мол теперь полнофункциональная.
Пытаюсь па примере статьи "Fairstars Audio Converter 1.26 и написание Keygenа" кейген сворганить. А не многовато ли для начинающего? Конечно условные переходы это хорошо, но КЕЙГЕНЫ это круто. Заметь что ни серийника, ни кеугена на прогу нет. Кстати если не прав то подправь - значение ключа в конце процедуры находиться на ESI?



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

Создано: 03 марта 2005 14:20
· Личное сообщение · #27

Попутал - на EAX.



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

Создано: 03 марта 2005 18:28
· Личное сообщение · #28

Хотя в некоторых имя-edi sn-esi




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

Создано: 04 марта 2005 15:50
· Личное сообщение · #29

dragon-gor пишет:
Кстати если не прав то подправь - значение ключа в конце процедуры находиться на ESI?


dragon-gor, извини, временно исследования пришлось прекратить, на работе аврал. Слетел контроллер домена... Короче, Несколько дней уйдет на полное восстановление...

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





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

Создано: 05 марта 2005 11:56
· Личное сообщение · #30

1D325/119589/41D325: 75 74 (jnz <- je) - патчить не обязательно, смысл этой ссылки только в том, что при вызове в меню окна для ввода серийника из него не удаляется уже введенный серийник.
Лучше, пропатчив
1D2AD/119469/41D2AD: 74 75 (je <- jnz)
1EA79/125561/41EA79: 75 74 (jnz <- je),
из меню в редакторе ресурсов удалить этот пункт.
dragon-gor, как твой кенген?

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться



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


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