Сейчас на форуме: -Sanchez- (+8 невидимых)

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


Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 12 апреля 2013 16:49
· Личное сообщение · #1

Исследую программулину --> 450 kb, скачать <--

И не могу понять как генерируется ID и на каком этапе (окошко, которое появляется при открытии файла)

до чего дошел:

это условие, где программулина решает показывать или не показывать окошко для ввода лицензии
Code:
  1. 004AED77    8B55 FC         MOV EDX,DWORD PTR SS:[EBP-0x4]
  2. 004AED7A    E8 EDF0FCFF     CALL uvfPlaye.0047DE6C                          ;
  3. 004AED7F    84C0            TEST AL,AL
  4. 004AED81    75 15           JNZ SHORT uvfPlaye.004AED98


а это само события показа этой формы:
004B1728 > A1 4C855F00 MOV EAX,DWORD PTR DS:[0x5F854C] ; FormCreateSpl


вот еще одна интересная функция (начало)

004B087C /. 55 PUSH EBP

Там идет считывание имя компа, путь к папке винды, путь к тэмпу...

и эти данные действительно влияют на ID, но вот где он генерируется полностью, я пока не нашел и вот как раз в этом не помощь бы не помешала.

-----
-=истина где-то рядом=-


| Сообщение посчитали полезным: repz83


Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 12 апреля 2013 19:14
· Личное сообщение · #2

Ключ имхо
BSS:005F80AC KEY dd ?

по перекрестным ссылкам видно, что он инициализируется в функции о которой и писалось

KingSise пишет:
004B087C /. 55 PUSH EBPТам идет считывание имя компа, путь к папке винды, путь к тэмпу...


а используется тут и ниже

CODE:004A4627 mov bl, 1Ah
CODE:004A4629 mov eax, ds:KEY
CODE:004A462E call StrLen
CODE:004A4633 test eax, eax
CODE:004A4635 jle short loc_4A464A
CODE:004A4637 mov esi, 1
CODE:004A463C
CODE:004A463C next:
CODE:004A463C mov edx, ds:KEY
CODE:004A4642 xor bl, [edx+esi-1]
CODE:004A4646 inc esi
CODE:004A4647 dec eax
CODE:004A4648 jnz short next

вот тут сравнивается при чтении из ИНИ файла

CODE:004B11C7 mov eax, [ebp+var_10]
CODE:004B11CA mov edx, ds:ptrKEY
CODE:004B11D0 mov edx, [edx]
CODE:004B11D2 call @System@@LStrCmp$qqrv

с многообещающим сообщением

CODE:004B1328 db 'Вы используете ключ, предназначенный для другого компьютера.',0Dh,0Ah
CODE:004B1328 db 'Для воспроизведения видео на этом компьютере нужен новый ключ.',0

-----
127.0.0.1, sweet 127.0.0.1




Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 12 апреля 2013 19:43 · Поправил: ELF_7719116
· Личное сообщение · #3


типа я должен сам выбрать почему видео не проигрывается
KingSise пишет:
Там идет считывание имя компа, путь к папке винды, путь к тэмпу...

Все одну структуру(struct) все склывается




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 13 апреля 2013 14:43 · Поправил: KingSise
· Личное сообщение · #4

OKOB пишет:
а используется тут и ниже


Так и есть, если менять значение дворда, то ключик однозначно меняется.

004A4651 > MOV EAX, DWORD PTR DS:[0x5F80C4]

вопрос только в том, как прописать свой ключик.




у мну если выставить значение дВорда, id как на картинке ниже.




Причем ХХХУУУ :> ХХХ - отвечает за правую часть, УУУ - за левую

-----
-=истина где-то рядом=-





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 13 апреля 2013 16:52 · Поправил: ClockMan
· Личное сообщение · #5

KingSise пишет:
И не могу понять как генерируется ID и на каком этапе (окошко, которое появляется при открытии файла)

/*49BB05*/ CALL 0049BB05; \CreateFileA(C:\WINDOWS)
/*49BB3A*/ CALL 00406768; \GetFileTime(C:\WINDOWS) получаем qdword и ложим его по адрессу 005F80BC.
/*4A458D*/ MOV EAX,5F80BC=======>начало процедуры преоброзования значения по адрессу 005F80BC.
/*4A4600*/ MOV [5F80C4],EDX=====>ложим dword по адрессу 005F80D4.

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 13 апреля 2013 19:31 · Поправил: OKOB
· Личное сообщение · #6

Если речь идет о подмене номера лицензии, то в диалоге он отображается в виде картинки, при формировании изображения происходит псевдотрансляция по таблице.

Алгоритм полностью разобрал и в прицепе на питоне (в коментариях адреса переменных), выбирай сам, что и когда будешь подменять.

Скорее всего по адресу 0x005F80D8 в твоем случае реальные значения будут 0,6,2,0,1,9

59bd_13.04.2013_EXELAB.rU.tgz - kg.py

-----
127.0.0.1, sweet 127.0.0.1





Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 14 апреля 2013 22:08 · Поправил: OKOB
· Личное сообщение · #7

В вышеприведенном генераторе лицензий таблица трансляции

tbl = ['3', '1', '8', '5', '4', '7', '0', '2', '9', '6']

была получена экспериментальным путем (в читабельном виде не хранится) и оставалось ощущение, что может она не совсем верна.

Поэтому копнув глубже нашел битовый массив BW картинки с таблицей.

Питоновский скрипт делает из этого битового массива BMPшку.

Code:
  1. from PIL import Image
  2. import os
  3.  
  4. # make empty picture
  5. img = Image.new('1', (96, 11), 0)
  6. img.save('tmp.bmp', 'BMP')
  7.  
  8. # get bits for DIB picture 96x11, 1 bit per pixel
  9. = open('uvfPlayer_cr.exe', 'rb')
  10. pic = f.read()[0xB3B2C:0xB3B2C+(96/8)*11]
  11. f.close()
  12.  
  13. # open empty template picture
  14. = open('tmp.bmp', 'rb')
  15. buf = f.read()
  16. f.close()
  17.  
  18. # rollover bitarray and add to image
  19. out = buf[:0x3E]
  20. for i in xrange(10,-1,-1):
  21.    out += pic[i*12:i*12+12]
  22.  
  23. # save image
  24. = open('tbl.bmp', 'wb')
  25. f.write(out)
  26. f.close()
  27.  
  28. # delete template file
  29. os.remove('tmp.bmp')




Вот такая хитро у автора программы

-----
127.0.0.1, sweet 127.0.0.1


| Сообщение посчитали полезным: DimitarSerg, KingSise, repz83, Coderess

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

Создано: 16 апреля 2013 09:51 · Поправил: repz83
· Личное сообщение · #8

Как ни странно, но в моем случае код не совпал



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

Создано: 16 апреля 2013 09:53
· Личное сообщение · #9

OKOB пишет:
В вышеприведенном генераторе лицензий таблица трансляции

tbl = ['3','1','8','5','4','7','0','2','9','6']

была получена экспериментальным путем (в читабельном виде не хранится) и оставалось ощущение, что может она не совсем верна.

Ваш кейген выдает 348 633, а программа 448 193




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 16 апреля 2013 10:50 · Поправил: KingSise
· Личное сообщение · #10

OKOB пишет:
В вышеприведенном генераторе лицензий таблица трансляции tbl = ['3','1','8','5','4','7','0','2','9','6']


Так и есть, все почти верно, кейген работать будет, но была допущена маленькая неточность, имя компа используется еще раз, и еще до помещения значения в [0x5F80C4] Поэтому если поместить кзначение, которое сгенерирует кейген (не смотря на то, что оно верное), ID все еще будет другим.

Я поступил чуть проще, и да, я знаю, это не тру подход:
Code:
  1. <004B0A72>
  2.  
  3. ;GetComputerNameA
  4.  
  5.          CALL 004B23A3  ;Get PC Name
  6.          NOP
  7.  
  8.  
  9.  
  10. <004B23A3>
  11. ;Replase PC Name with const
  12.  
  13. PUSHAD
  14. MOV     ESI, @pc
  15. MOV     EDI, eax
  16. MOV     ECX, 20 
  17. REP     MOVS BYTE PTR ES:[EDI], BYTE PTR DS:[ESI]
  18. POPAD
  19. ret
  20.  
  21.  
  22.  
  23. @pc: "yourPCname\0"


-----
-=истина где-то рядом=-





Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 17 апреля 2013 17:43 · Поправил: OKOB
· Личное сообщение · #11

KingSise пишет:
но была допущена маленькая неточность, имя компа используется еще раз, и еще до помещения значения в [0x5F80C4]


По перекрестным ссылкам этого не видно, но нашлась проблема в другом.

Было использовано получение времени создания каталога
ctime = os.path.getctime(winpath)

и его преобразование в "файловое время" которое использует сам мелкософт

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724228(v=vs.85).aspx

Code:
  1. void TimetToFileTime( time_t t, LPFILETIME pft )
  2. {
  3.     LONGLONG ll = Int32x32To64(t, 10000000) + 116444736000000000;
  4.     pft->dwLowDateTime = (DWORD) ll;
  5.     pft->dwHighDateTime = ll >>32;
  6. }


ttime = long((ctime*10000000)+116444736000000000)
ZZ1 = (ttime&0xFFFFFFFF)
ZZ2 = ((ttime>>32)&0xFFFFFFFF)

и это не всегда дает верный результат .

Если вывернуться и вызвать из кернела GetFileTime

Code:
  1. class FILETIME(Structure):
  2.   _fields_ = [("dwLowDateTime", c_int),
  3.              ("dwHighDateTime", c_int)]
  4.  
  5. kernel32.GetFileTime.argtypes = [c_int, c_void_p, c_void_p, c_void_p]
  6. CreationTime = FILETIME(0,0)
  7. LastAccessTime = FILETIME(0,0)
  8. LastWriteTime = FILETIME(0,0)
  9.  
  10. fh = kernel32.CreateFileA(winpath, 0x80000000, 3, 0, 3, 0x2000000, 0)
  11. kernel32.GetFileTime(fh, byref(CreationTime), byref(LastAccessTime), byref(LastWriteTime))
  12. kernel32.CloseHandle(fh)
  13.  
  14. ZZ1 = CreationTime.dwLowDateTime   
  15. ZZ2 = CreationTime.dwHighDateTime


то результат будет другим.

a4be_17.04.2013_EXELAB.rU.tgz - kg.py

-----
127.0.0.1, sweet 127.0.0.1


| Сообщение посчитали полезным: KingSise, repz83

Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 18 июля 2013 16:57
· Личное сообщение · #12

А как же быть с отслеживанием запущенных процессов?



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

Создано: 28 августа 2013 10:29
· Личное сообщение · #13

Зачем, если вопрос-ответ правильный)



Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 ноября 2014 15:58 · Поправил: shachneff
· Личное сообщение · #14

Если предыдущие собеседники еще живы, прошу, вернитесь к обсуждению.

Может за последний год у вас появились новые идеи?



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

Создано: 18 декабря 2014 11:22
· Личное сообщение · #15

Видимо нет.



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

Создано: 18 декабря 2014 16:38 · Поправил: vovanre
· Личное сообщение · #16

Хочу допилить свой эмуль до автоматизма. (т.е имея 1 ключ можно юзать на всех компах).

Суть просьбы такова. Создать любой запротекченный ролик и валидный ключик. На компе для которого создан ключ сгенерить конфиг программкой -> этой.И кинуть его мне(Имя файла Config.0).

Добавлено спустя 3 часа 11 минут
Для тех у кого хром лочит -> https://www.virustotal.com/ru/file/97d2cbc699d30eb495c5a6c923cab3e9c4f54d8889eddce82056ad1edc4a423d/analysis/



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

Создано: 23 марта 2015 12:01
· Личное сообщение · #17

to vovanre:

vovanre пишет:
Хочу допилить свой эмуль до автоматизма. (т.е имея 1 ключ можно юзать на всех компах).


У Вас получилось?



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

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

repz83 пишет:
У Вас получилось?

Дело заглохло, просто негде было потестить.



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

Создано: 23 марта 2015 17:46 · Поправил: VodoleY
· Личное сообщение · #19

vovanre насколько я помню.. там видио стрим аес-ом покриптован. не имея валидной пары я хз как ты его расшифровывать собрался.. а вот клонировать на др. комп.. достаточно просто.

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 2.6 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 08 июля 2015 17:32 · Поправил: vofka_morkofka
· Личное сообщение · #20

Да, клонировать мне удалось. Алгоритм генерации весьма не хитрый. Кейген не делал, просто статично прописал номер "нужной, рабочей" лицензии и люди запускают курсы с любых компов.

Если кому интересно, пишите в ЛС. Дам ссылку на файл, как вариант должен и с вашими курсами работать.

P.S. Интересно другое, как генерировать ключи самому и каким способом зашифровано видео в этом файле.



Ранг: 8.5 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 08 августа 2015 09:33 · Поправил: valedator
· Личное сообщение · #21

Переснять не выйдет.




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 11 августа 2015 10:42
· Личное сообщение · #22

а вот у меня на некоторых компах, точнее с определенными графическими адаптерами видео тупо не запускается. Оригинальное и с ключом. Ну да и хрен с ним.

З.Ы. В других более поздних версиях схема подмены ID точно такая же.

-----
-=истина где-то рядом=-




Ранг: 8.5 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 12 августа 2015 13:58 · Поправил: valedator
· Личное сообщение · #23

З.Ы. В других более поздних версиях схема подмены ID точно такая же.

Нет я уже смотрел и нужно новую писать, в новой всё по другому сделано.



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

Создано: 12 августа 2015 14:15
· Личное сообщение · #24

valedator пишет:
Вот мы писали програмку для старой версии 2013 года. Всё просто подставляешь номер плеера и номер плавающий и через програмку запускаешь плеер.
Смотреть можно на любой машине. А вот чтобы переснять нужно всё запукать на вирталке а снимать на основной любой прогой.
--> Link <--

А ничего, что в заголовке лоадера написано RSI ? Насколько я знаю, то он был членом команты tPORt и не такой безграмотный как Вы.
valedator пишет:
Уже начали изучаем

Еще язык подучите, на котором излагаете мысли свои, а то читать противно.

-----
TEST YOUR MIGHT




Ранг: 3.1 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 12 августа 2015 15:30
· Личное сообщение · #25

unknownproject
Да этот "валедатор" походу барыга-перекупщик, заплатил спецу (RSI) за инструмент и на нём деньги делает.

valedator
ты зае*ал со своей рекламой в ветке Взлом SecureBook



Ранг: 8.5 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 12 августа 2015 15:42 · Поправил: valedator
· Личное сообщение · #26

упс



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

Создано: 05 ноября 2015 17:18 · Поправил: ivano
· Личное сообщение · #27

Здравствуйте, господа! Сабж обновился, текущая версия 3+
Нужен для исследований валидный ключ (ну и пример защищённого видео) - в л.с.




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 05 ноября 2015 17:44
· Личное сообщение · #28

Поддерживаю запрос.
С благодарностью приму для исследования также сам uvfPlayer версии старше 3.10.0.237.

-----
127.0.0.1, sweet 127.0.0.1




Ранг: 4.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 08 декабря 2015 12:15
· Личное сообщение · #29

Плеер - 3.1.0.145
Есть видео и рабочая пара - может кто помочь ?




Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 08 декабря 2015 12:23
· Личное сообщение · #30

попробуем, оставляй ссылку на пакет ☺

-----
-=истина где-то рядом=-



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


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