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

 eXeL@B —› Основной форум —› Archivarius 3000
Посл.ответ Сообщение


Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 30 октября 2006 12:16
· Личное сообщение · #1

Ктонибудь занимался сабжем?
Интересуют подводные камни вней.



Ранг: 116.1 (ветеран), 5thx
Активность: 0.060
Статус: Участник

Создано: 30 октября 2006 12:39
· Личное сообщение · #2

занимался, нужон любой валидный ключ для раскриптовки.




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 30 октября 2006 12:56 · Поправил: NIKOLA
· Личное сообщение · #3

Раскриптовки кода?
Если без ключа распаковать, работать будет?



Ранг: 116.1 (ветеран), 5thx
Активность: 0.060
Статус: Участник

Создано: 30 октября 2006 13:07
· Личное сообщение · #4

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




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 30 октября 2006 14:25
· Личное сообщение · #5

У меня версия 3.74, распаковал эксешник, длл'а, которую патчат, не нужна.
На мой взгляд, у меня прога работает (при не большой модификации) нормально.
Мне нужно узнать, правильно она работает или нет, по этому и спрашиваю про подводные камни.




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

Создано: 30 октября 2006 14:32
· Личное сообщение · #6

В качестве подводных камней - ограничение на 10К источников.

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...





Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 30 октября 2006 14:33
· Личное сообщение · #7

tnt17 пишет:
10К источников


Это что? (только по русски)




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

Создано: 30 октября 2006 14:37
· Личное сообщение · #8

Он обрабатывает только 10 000 файлов,в ломанной версии от TSRH эта проблема не решалась.(я год назад смотрел эту прогу).

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...





Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 30 октября 2006 14:42
· Личное сообщение · #9

Значит так, что он показывает у меня:
Количество индексов: 4
Документов в индексах: 989 618
Размер индексов: 1 449 774 201

tnt17 пишет:
Он обрабатывает только 10 000 файлов


Это - Документов в индексах: 989 618

я правильно понимаю?




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

Создано: 30 октября 2006 14:43
· Личное сообщение · #10

да

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...





Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 30 октября 2006 14:47
· Личное сообщение · #11

Ну тогда пойду спать, со спокойной душой.



Ранг: 116.1 (ветеран), 5thx
Активность: 0.060
Статус: Участник

Создано: 30 октября 2006 21:28
· Личное сообщение · #12

tnt17 пишет:
Он обрабатывает только 10 000 файлов,в ломанной версии от TSRH эта проблема не решалась.(я год назад смотрел эту прогу).


Если патч был мой, то это очень странно, т.к. прога была полностью зарегана - была выполнена псевдорегистрация со своим ключом. Таким образом, получается, что это была ошибка в программе.




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

Создано: 30 октября 2006 22:07
· Личное сообщение · #13

я не уверен что твой.программа писала что добавлять больше можно лишь в зарегенной верси,и что она сейчас только демо.кроме этого ограничения ничего больше не заметил,все работало хорошо.

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...





Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 31 октября 2006 11:19
· Личное сообщение · #14

Нужно потестить файлик.
Версия: 3.74
Размер: 1.6 Мб

slil.ru/23329026



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

Создано: 21 января 2007 04:18
· Личное сообщение · #15

Если кого интересует Архивариус3000 3.79, есть загрузчик!
Убирает NAG, органичение в 10000 файлов и отключает trial.



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

Создано: 14 июня 2007 07:02
· Личное сообщение · #16

Прошу помочь разобрать до конца версию 3.87 http://www.likasoft.com/download/arch3000.exe .
Тут http://www.2shared.com/file/1969890/87093580/Archivarius3000.html распакованный YDS-ом exe с частично убранными ограничениями (наг, количество пользователей сервера и на 10 000 файлов при создании индекса). Проверки на регистрацию содержатся в Al.dll (также упакованным AsProtect-ом v1.35) – они пофиксены в инлайн-патче распакованного exe.
Осталось только убрать ограничение на 10 000 файлов при выполнении поиска по построенному индексу. Вот тут и затык. YDS же на это забил, сославшись на занятость.

В результате своих ковыряний обнаружил следующее.
Поиском констаты 2710h (10000 в десятичном виде) в Archivarius3000.exe обнаруживается такое интересное место, которое проходим дважды при запуске поиска по индексу:

/*4C4CE3*/ CMP BYTE PTR DS:[791DB4],0
/*4C4CEA*/ JNZ SHORT 10.004C4CFF < – если мы «зареганы», то прыгаем
/*4C4CEC*/ CMP DWORD PTR SS:[EBP+C],0
/*4C4CF0*/ JNZ SHORT 10.004C4CFD
/*4C4CF2*/ CMP DWORD PTR SS:[EBP+8],2710 < – если нет, отсчитываем 10 000
/*4C4CF9*/ JA SHORT 10.004C4D03
/*4C4CFB*/ JMP SHORT 10.004C4CFF
/*4C4CFD*/ JG SHORT 10.004C4D03
/*4C4CFF*/ XOR EAX,EAX
/*4C4D01*/ JMP SHORT 10.004C4D05
/*4C4D03*/ MOV AL,1
/*4C4D05*/ POP EBP
/*4C4D06*/ RETN 8

Тут в 791DB4 уже положено ранее 01 (флаг проверки на регистрацию).
Вроде должно работать, ан нет. В процессе поиска создается несколько массивов, один из которых заполняется «единичками» – по количеству записей в индексе и в этот же самый массив по «смещению» 2720h (от начала сегмента выделенной памяти) прописывается количество записей. Происходит это в Al.dll таком месте (адреса могут быть другими):

/*1AD9752*/ MOV DWORD PTR DS:[ESI+2720],ECX
/*1AD9758*/ MOV EAX,ESI
/*1AD975A*/ MOV EDX,DWORD PTR DS:[EAX]
/*1AD975C*/ CALL DWORD PTR DS:[EDX+10]
/*1AD975F*/ MOV EAX,ESI
/*1AD9761*/ TEST BL,BL
/*1AD9763*/ JE SHORT AI.01AD9774
/*1AD9765*/ CALL AI.01AD2A1C
/*1AD976A*/ POP DWORD PTR FS:[0]
/*1AD9771*/ ADD ESP,0C
/*1AD9774*/ MOV EAX,ESI
/*1AD9776*/ POP ESI
/*1AD9777*/ POP EBX
/*1AD9778*/ RETN

Далее, при выполнении поиска в Archivarius3000.exe читается это количество записей по указанному «смещению» примерно в таких местах:
/*4C032B*/ CALL DWORD PTR DS:[EDX+18]
/*4C032E*/ TEST EAX,EAX < – в EAX д.б. возвращено кол-во документов в индексе

Указанный колл ведет в Al.dll (адреса могут быть другими):
/*1AD9808*/ MOV EAX,DWORD PTR DS:[EAX+2720]
/*1AD980E*/ RETN

Если документов в индексе больше 10 000, то содержимое по адресу по смещению 2720 также забивается «единицами» и прога в итоге падает, поскольку не может прочитать количество документов в массиве. К примеру это происходит в таком цикле по адресу .004C0344

/*4C032B*/ CALL DWORD PTR DS:[EDX+18]
/*4C032E*/ TEST EAX,EAX < – в EAX ожидается кол-во документов в индексе, вместо этого имеем: 01010101
/*4C0330*/ JLE SHORT 10.004C0354
/*4C0332*/ CMP BYTE PTR DS:[ESI],0
/*4C0335*/ JE SHORT 10.004C033C
/*4C0337*/ CMP BYTE PTR DS:[EBX],0
/*4C033A*/ JNZ SHORT 10.004C0340
/*4C033C*/ XOR EDX,EDX
/*4C033E*/ JMP SHORT 10.004C0342
/*4C0340*/ MOV DL,1
/*4C0342*/ MOV BYTE PTR DS:[EBX],DL
/*4C0344*/ MOV EDX,DWORD PTR DS:[EDI] < – заполняем массив
/*4C0346*/ ADD DWORD PTR SS:[EBP],EDX
/*4C0349*/ INC ESI
/*4C034A*/ INC EBX
/*4C034B*/ ADD EDI,4 < – увеличиваем адрес в массиве получателе на размер = DWORD
/*4C034E*/ ADD EBP,4
/*4C0351*/ DEC EAX < – цикл по количеству документов
/*4C0352*/ JNZ SHORT 10.004C0332

Изменять адрес «смещения» бесполезно – ведь, документов в индексе может быть больше, чем размер выделенного сегмента памяти под массив. Понятно, что в зарегистрированной версии этот массив «единиц» не должен использоваться. «Занопливаение» этого куска дает ошибки в других местах, т.к. в этом цикле заполняется другой массив. «Подсовываение» в EAX по адресу .004C032E реального количества документов в индексе тоже безрезультатно, поскольку при большом количестве документов начинает не хватать «места» в массиве-приемнике, размер которого должен быть > количества документов x 4.
Предположил, что в этом случае количество документов в индексе сохраняется не в сегмент памяти массива, а по адресу в другом месте. Пробовал подменять его – все равно валится с ошибками. Понимаю, что тут нужно ковырять Al.dll – вся дрянь от него, но ничего путного обнаружить там не удалось.

5-й день уже бьюсь безрезультатно. Если кому интересно, или просто скучно – гляньте, пожалуйста.

PS. Начало инлайна с фиксом прочих проверок идет с адреса .00A8D050.
PPS. Криптованных участков в exe и Al.dll вроде нет (к тому же YDS сказал, что версию 3.86 ломал без ключа).


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


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