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

 eXeL@B —› Вопросы новичков —› требуется помощь в анализе проги с HW_ID
Посл.ответ Сообщение

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

Создано: 09 ноября 2010 23:35
· Личное сообщение · #1

есть прога, специфична тем, что используется для загрузки прошивки в atmega контроллер (девайс с ним висит на usb-шнурке, соединенном с компом,и прога проверяет есть ли такая девайсина или нет,если нет, то так и пишет)...
упакована ASpack 2.12...Если все ок(девайсина с атмелом есть) то прога генерит что то типа HW_Id(собирает всякую инфу с компа) и выдает что то типа такого:
1976091F183C81FF
в нижней строке окна просит ввести ключ...
ключ должен быть из 16 символов, если короче вылетает окно(которое об этом и предупреждает)
если ключ из 16 символов,но не тот что прислал автор (после получения перевода),то окон никаких не вылазит,все возвращается назад,то есть к надписи ввести ключ...
итак что было сделано:
-распакована (помогла ASPDie) дальше все действия с этим exe-шником;
-прошелся поиском текста(есть и "ключ ОК", "Активировано успешно","ключ ОК,нажмите Х") пользовал W32Dasm от URsoft;
-в дампе по адресу 0015B938 лежит id (на данный момент такой 1976091F183C81FF, если поменяю boot в атмеге программатором станет другим, проверено )
-там же по адресам 0015BA28;0015BA38 лежит ещё одна интересная последовательность BC2BB57F066DE0DA (нет не ключ...проверял, не проходит )
-адрес 0015B9F8 - тот ключ который вводим в нижнюю строку окна
если поставить bp на обращение чтения по этим адресам (либо там где лежит 1976091F183C81FF, либо там где лежит BC2BB57F066DE0DA,то можно выйти на какую то процедуру(сорри тут пошли затыки и догадки...) то по стеку видно как в в дамп укладывается
0015BA30 -> BC2BB57F066DE0DA
009A3BF4 - > 63870100797F639D (этой области не было в дампе, она есть только когда прога что то считает)
009A5C54 - >18237B3C5519855F....
мне почему то подумалось в что то про криптование...
особенно когда увидел два этих числа
BC2BB57F066DE0DA
63870100797F639D прога их крутила ...чего то пыталась высчитать...сорри знаний маловато пока...
чего то подумал что это RSA
сунул из по очереди в RSATool2v110...
с ...BC2BB не в прямом , не в инверсном виде ничего путного не вышло ...(не факторизовалось, так кажется)
а вот второе, то что 63...в инверсном виде(9D637F7900018763) чудненько разложилось на
12C77(P) И 8618E2E7B375(Q)...
да все эти "фигурки" с числами прога виписывает тут (примерно)
Code:
  1. 7C9021F6    8EE4                MOV FS,SP                                   ; Modification of segment register
  2. 7C9021F8    89448F E4           MOV DWORD PTR DS:[EDI+ECX*4-1C],EAX
  3. 7C9021FC    8B448E E8           MOV EAX,DWORD PTR DS:[ESI+ECX*4-18]
  4. 7C902200    89448F E8           MOV DWORD PTR DS:[EDI+ECX*4-18],EAX
  5. 7C902204    8B448E EC           MOV EAX,DWORD PTR DS:[ESI+ECX*4-14]
  6. 7C902208    89448F EC           MOV DWORD PTR DS:[EDI+ECX*4-14],EAX
  7. 7C90220C    8B448E F0           MOV EAX,DWORD PTR DS:[ESI+ECX*4-10]
  8. 7C902210    89448F F0           MOV DWORD PTR DS:[EDI+ECX*4-10],EAX
  9. 7C902214    8B448E F4           MOV EAX,DWORD PTR DS:[ESI+ECX*4-C]
  10. 7C902218    89448F F4           MOV DWORD PTR DS:[EDI+ECX*4-C],EAX
  11. 7C90221C    8B448E F8           MOV EAX,DWORD PTR DS:[ESI+ECX*4-8]
  12. 7C902220    89448F F8           MOV DWORD PTR DS:[EDI+ECX*4-8],EAX
  13. 7C902224    8B448E FC           MOV EAX,DWORD PTR DS:[ESI+ECX*4-4]
  14. 7C902228    89448F FC           MOV DWORD PTR DS:[EDI+ECX*4-4],EAX
  15. 7C90222C    8D048D 00000000     LEA EAX,DWORD PTR DS:[ECX*4]

саму прогу положил сюда (в оригинале, не распакованную, изменено только название ехе-шника, если надо укажу откуда взял):
hxxp://www.multiupload.com/2TERDNEGZM
может быть у кого-то более опытного найдется время, что бы глянуть и направить куда надо рыть




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

Создано: 10 ноября 2010 12:31
· Личное сообщение · #2

7C9021F6
адрес не смущает?

вряд ли защита внутри ntdll ;)

-----
EnJoy!




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

Создано: 20 ноября 2010 22:37
· Личное сообщение · #3

да,что то я сглупил...с шифрованием
"молодой,глупый..."
во общем бьюсь об эту прогу уже который день ...
плюнул на серийник( не дорос я наверное до этого), попробовал заменой je на nop и jmp
да результат есть ,то есть если тут
Code:
  1. 00402CCC  |.  84C9                  TEST CL,CL
  2. 00402CCE  |.  0F84 12020000         JE 00402EE6                              ; <- меняем на JNE или NOP
  3. 00402CD4  |.  66:C745 A4 B000       MOV WORD PTR SS:[EBP-5C],0B0
  4. 00402CDA  |.  33C0                  XOR EAX,EAX
  5. 00402CDC  |.  8945 C0               MOV [LOCAL.16],EAX
  6. 00402CDF  |.  8D55 C0               LEA EDX,[LOCAL.16]
  7. 00402CE2  |.  FF45 B0               INC [LOCAL.20]
  8. 00402CE5  |.  8B4D 90               MOV ECX,[LOCAL.28]
  9. 00402CE8  |.  8B81 10030000         MOV EAX,DWORD PTR DS:[ECX+310]
  10.  


то прога допрыгает до надписи "ключ ОК,нажмите Х"...
прежде чем этот Х нажать делаем тут
Code:
  1. 00402A0E  |.  84C9                  TEST CL,CL
  2. 00402A10  |.  0F84 AE000000         JE 00402AC4                              ; <- NOP сюда вместо перехода
  3. 00402A16  |.  66:C745 A4 6800       MOV WORD PTR SS:[EBP-5C],68
  4. 00402A1C  |.  BA 30F64700           MOV EDX,47F630
  5. 00402A21  |.  8D45 DC               LEA EAX,[LOCAL.9]


теперь жму "Х" ...получаю "ключ ОК" в строке проги и выскакивает окно "активировано успешно"...
только вот прошить не получиться ,так как нужно ещё тут
Code:
  1. 004022F7  |.  84C9                  TEST CL,CL
  2. 004022F9  |.  74 48                 JE SHORT 00402343                        ; JMP сюда вместо JE
  3. 004022FB  |.  8B45 A0               MOV EAX,[LOCAL.24]
  4. 004022FE  |.  8B80 F4020000         MOV EAX,DWORD PTR DS:[EAX+2F4]
  5. 00402304  |.  33D2                  XOR EDX,EDX
  6. 00402306  |.  8B08                  MOV ECX,DWORD PTR DS:[EAX]
  7.  

теперь все ок ...кнопа "прошить" активна,жмем выбираем что будем передавать в атмел через USB...
Прошивать то прошивает, да только при этом меняется ИД, (что совсем не надо) и в атмел попадает какой то мусор вместо прошивки, так девайсина с атмелом не работает как должна
То есть одними поправками переходов не обойтись...надо что бы в атмел попало то, что надо (не докопал ещё что же надо)..
Предположения такие: раз прошивка атмела типа зашифрована, то в прогу на компе попадает валидный ключ, прога активирует (засылает по usb в атмел то же какой то ключ, загрузчик в атмеле используя этот ключ расладывает(расшифровывает) принятое с компа куда надо по полочкам...Тогда все в шоколаде...
Вообщем круг замкнулся опять вернулись к тому с чего начали ...нужен ключ
И на фига такие заморочки в проге, где ключ стоит 35у.е. ...
Вообщем все плохо...
Может, где чего почитать?


 eXeL@B —› Вопросы новичков —› требуется помощь в анализе проги с HW_ID
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати