Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Логи HSShield
#1
Собственно сабж. Кто нибудь до них добирался?
supdate.log я бОльшую часть расшифровал. А вот до основного лога добраться не могу. Он под фемидой по самое...
[SRC="c++"]#include <iostream>
#include <cstdio>

using namespace std;

void uncrypt(char* str, int len, unsigned int key)
{
/*
;hsupdate.exe
mov ecx, 0x4E4 ; видимо ключ
loop:
mov al, [esi+edx] ;байт исходной строки
xor ebx, ebx
mov bl, ch
xor al, bl
mov [edx], al ;Кладёт байт зашифрованной строки.
movzx ax, al
add eax, ecx
lea ecx, [eax+eax*2]
shl ecx, 4
sub ecx, eax
lea ecx, [ecx+ecx*2]
lea ecx, [ecx+ecx*4]
lea ecx, [ecx+ecx*8]
lea eax, [eax+ecx*2]
mov ecx, 58BFh ;Магия или вторая часть ключа?
sub ecx, eax
inc edx
dec edi
jnz short loop
*/
unsigned int tmp = 0;
for (int i=0; i < len; ++i)
{
tmp &= 0xFFFF0000;
tmp |= str[i] & 0x000000FF;
str[i] ^= (unsigned char)(key >> 8);
tmp += key;
key = tmp * 3;
key = key << 4;
key -= tmp;
key *= 3;
key *= 5;
key *= 9;
tmp = tmp + key *2;
key = 0x58BF;
key -= tmp;
}
}

int main(int argc, char *argv[])
{

if (argc < 2){
cout << "Usage: HSLogEncrypt.exe supdate.log" << endl;
return 0;
}

cout << "Start" << endl;
FILE* f = fopen(argv[1], "rb");
while (!feof(f)){
//4b len; len b message
int strlen;
fread(&strlen, 0x4, 0x1, f);
char str[strlen];
fread(str, strlen, 0x1, f);
uncrypt(str, strlen, 0x4E4);
cout.write(str, strlen);
cout << endl;
}

return 0;
}
[/SRC]

Пробовал перебирать ключ - бесполезно.
Толи алгоритм другой, толи сразу оба ключа отличаются.
Всё происходит в ehsvc.dll. Но он мало того, что накрыт фемидой, так ещё и подвязан на адресное пространство архейджа.
Вобщем мне пока не по зубам, а лог почитать надо. HSу что-то на моём компе не нравится, а общаться на эту тему с техподдержкой мейла занятие сомнительное xD.
Ответ
#2
[SRC="c++"]
int strlen;
char str[strlen];
[/SRC]
Это С11?
Ответ
#3
Хм. Оказывается да Oo... Но кажется gcc давно так умеет.
Ну можете заменить на
[SRC="c++"]
char* str = new char[strlen];
...
delete[] str;
[/SRC]
Ответ
#4
MadHacker Написал:Всё происходит в ehsvc.dll. Но он мало того, что накрыт фемидой, так ещё и подвязан на адресное пространство архейджа.

держи дамп этой библиотеки с откинутой фемидой. http://rghost.ru/52509093

мб найдешь идой нужную функцию.
Ответ
#5
Я откидывал фемиду. И функцию нашёл. Она уходит в виртуалку фемиды. Отлаживать надо.
Ответ
#6
http://rghost.ru/private/52510907/fcda22...5e4c3a484e
Не мое, но есть алгоритм раскодировки лог файлов ХСа.
Перезалейте, если кому нужно, через 5 дней файл удалится
Ответ
#7
Спасибо. То что надо. Я бы ещё долго искал алгоритм. Не в том направлении копал Smile
К сожалению логи не оправдали моих надежд, но это уже совсем другая история.
Ответ
#8
П.С. там есть GUID файлик - к текущим версиям ХСа он уже практически не подходит. Но большую часть ошибок можно по самим ошибкам из файла HShield.h понять - http://rghost.ru/private/52511336/cda443...5202ecbc5b (файл тоже через 5 дней удалится). или из документации(гуляет по инету).
Ответ
#9
empireMan Написал:http://rghost.ru/private/52510907/fc...067f5e4c3a484e
Не мое, но есть алгоритм раскодировки лог файлов ХСа.
Перезалейте, если кому нужно, через 5 дней файл удалится

линк поправьте.
Ответ
#10
Они совсем охренели с параноидальностью защиты.
Я правда так и не понял на сервис тестирования драйверов от WDK он среагировал или на Process Hacker.
В ближайшем будущем проведу эксперимент, разберусь до конца. Но в любом случае это уже перебор.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Ищу логи трафика Ugly 3 3,750 10-19-2016, 06:27 AM
Последний пост: 4lex

Перейти к форуму:


Пользователи, просматривающие эту тему: 4 Гость(ей)