Сейчас на форуме: (+3 невидимых) |
eXeL@B —› Дневники и блоги —› kaiZer's Blog |
<< . 1 . 2 . 3 . |
Посл.ответ | Сообщение |
|
Создано: 30 июля 2008 19:14 · Личное сообщение · #1 Рано или поздно это должно было произойти хоть куда-то теперь я могу запостить свою(и) статью(и), которые были написаны давненько.. Предлагаю вашему вниманию одну такую статью. Прошлогодняя простенькая статья Программа: Evidence Destructor 2.3 (www.emailarms.com) Инструменты: DeDe, PEiD Запускаем программу и видим, что выскакивает наг-скрин и нам предлагается ввести серийный номер. Обычная ситуация. Травим экзешник "eraser.exe" на PEiD и видим, что программа написана на Borland Delphi 6.0 - 7.0. Это хорошо. Открываем экзешник в DeDe, переходим на вкладку Procedures, там видим в столбце "Unit Name" запись "NagScr", напротив которой в столбце "Class Name" запись "TNagScreen". Нам сюда. Выбираем этот пункт, в столбце "Events" видем различные события, но больше всего привлекает запись "RegisterBtnClick". Двойной щелчок по этому событию и мы в коде. Больше всего на глаза бросается такой участок кода: 004992D1 E832F3FFFF call 00498608 004992D6 84C0 test al, al 004992D8 740C jz 004992E6 Получается так: вызывается некая процедура, далее берется значение в al, если оно равно 0 (нулю), то прожок на адрес 004992E6. Посмотрим, что находится по адресу 00498608. Двойной щелчок по строке с адресом 004992D1 и мы опять в коде! И снова бросается на глаза похожий на прошлый участок кода: 00498650 E87BFDFFFF call 004983D0 00498655 8BD8 mov ebx, eax 00498657 84DB test bl, bl 00498659 0F84DC000000 jz 0049873B Практически все тоже самое, как и в прошлом участке, только адреса разные. Сейчас можно пройтись до адреса 0049873B и посмотреть, что там творится. Ну а там вызывается сообщение о неправильном серийнике: 0049873B B888004B00 mov eax, $004B0088 * Reference to: System.@LStrClr(void;void); | 00498740 E893C1F6FF call 004048D8 00498745 6A10 push $10 * Possible String Reference to: 'Error' | 00498747 B958884900 mov ecx, $00498858 * Possible String Reference to: 'Registration code is invalid!' Значит bl должен быть равен 1 (единице) для успешной регистрации. Заходим в call 004983D0. Вот это уже интереснее! * Reference to: System.@LStrLen(String):Integer; | 004983DE E8B5C7F6FF call 00404B98 004983E3 83F80E cmp eax, +$0E <--- длина серийника должна быть равна 14 004983E6 7567 jnz 0049844F <--- если не 14, то гудбай! 004983E8 8B07 mov eax, [edi] 004983EA 803832 cmp byte ptr [eax], $32 <--- eax - 1й символ серийника, должен быть '2' 004983ED 0F94C0 setz al 004983F0 83E07F and eax, +$7F 004983F3 03F0 add esi, eax 004983F5 8B07 mov eax, [edi] 004983F7 80780236 cmp byte ptr [eax+$02], $36 <--- eax+$02 - 3й символ серийника, должен быть '6' 004983FB 0F94C0 setz al 004983FE 83E07F and eax, +$7F 00498401 03F0 add esi, eax 00498403 8B07 mov eax, [edi] 00498405 80780333 cmp byte ptr [eax+$03], $33 <--- eax+$03 - 4й символ серийника, должен быть '3' 00498409 0F94C0 setz al 0049840C 83E07F and eax, +$7F 0049840F 03F0 add esi, eax 00498411 8B07 mov eax, [edi] 00498413 80780432 cmp byte ptr [eax+$04], $32 <--- eax+$04 - 5й символ серийника, должен быть '2' 00498417 0F94C0 setz al 0049841A 83E07F and eax, +$7F 0049841D 03F0 add esi, eax 0049841F 8B07 mov eax, [edi] 00498421 80780733 cmp byte ptr [eax+$07], $33 <--- eax+$07 - 8й символ серийника, должен быть '3' 00498425 0F94C0 setz al 00498428 83E07F and eax, +$7F 0049842B 03F0 add esi, eax 0049842D 8B07 mov eax, [edi] 0049842F 80780833 cmp byte ptr [eax+$08], $33 <--- eax+$08 - 9й символ серийника, должен быть '3' 00498433 0F94C0 setz al 00498436 83E07F and eax, +$7F 00498439 03F0 add esi, eax 0049843B 8B07 mov eax, [edi] 0049843D 80780A34 cmp byte ptr [eax+$0A], $34 <--- eax+$0A - 11й символ серийника, должен быть '4' 00498441 0F94C0 setz al 00498444 83E07F and eax, +$7F 00498447 03F0 add esi, eax 00498449 83FE07 cmp esi, +$07 0049844C 0F94C3 setz bl 0049844F 8BC3 mov eax, ebx 00498451 5F pop edi 00498452 5E pop esi 00498453 5B pop ebx 00498454 C3 ret Вот и все! Серийник такого вида: 2х632хх33х4ххх, где х - любая цифра. Программа проверяет только эти символы, остальные могут быть любыми. Очень просто и кейген написать! Все! 01/08/2007 kaiZer.am.i@gmail.com |
|
Создано: 30 августа 2008 16:08 · Личное сообщение · #2 |
|
Создано: 30 августа 2008 16:15 · Личное сообщение · #3 kaiZer пишет: Программа: Evidence Destructor У них похоже во всех программах защита одинаковая... Есть у них прога 1st Disk Drive Protector v3.0 маленькая и приятная... Только вот такая супер-защита ставит под сомнение качество проги Никто не смотрел? Какие впечатления? ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh |
|
Создано: 31 декабря 2008 15:52 · Личное сообщение · #4 |
|
Создано: 31 декабря 2008 18:44 · Личное сообщение · #5 |
|
Создано: 31 декабря 2008 20:18 · Личное сообщение · #6 |
|
Создано: 31 декабря 2008 21:21 · Личное сообщение · #7 |
|
Создано: 31 декабря 2008 21:31 · Личное сообщение · #8 |
|
Создано: 04 января 2009 13:04 · Личное сообщение · #9 вместо того чтобы выкладывать исходники простенького вьюера для нфо, который и самому можно сделать, и подобных исходников полно, выложил бы исходники своего kNfo, сам по себе он мне не нужен, а нужно посмотреть одну фичу, которая у меня с багами получается ----- Лучше быть одиноким, но свободным © $me |
|
Создано: 04 января 2009 14:23 · Поправил: kaiZer · Личное сообщение · #10 |
|
Создано: 04 января 2009 14:42 · Личное сообщение · #11 |
|
Создано: 04 января 2009 14:43 · Личное сообщение · #12 |
|
Создано: 11 марта 2009 13:31 · Личное сообщение · #13 |
|
Создано: 11 марта 2009 14:48 · Личное сообщение · #14 |
|
Создано: 11 марта 2009 15:37 · Личное сообщение · #15 |
|
Создано: 11 марта 2009 16:21 · Личное сообщение · #16 |
|
Создано: 11 марта 2009 18:10 · Личное сообщение · #17 |
|
Создано: 11 марта 2009 23:55 · Личное сообщение · #18 |
|
Создано: 12 марта 2009 00:19 · Личное сообщение · #19 |
|
Создано: 16 марта 2009 15:19 · Личное сообщение · #20 |
<< . 1 . 2 . 3 . |
eXeL@B —› Дневники и блоги —› kaiZer's Blog |