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

 eXeL@B —› Вопросы новичков —› Распаковщик формата PAK, разработчика Targem Games (Star Conflict)
<< . 1 . 2 .
Посл.ответ Сообщение

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

Создано: 22 июня 2013 21:36 · Поправил: iROOT
· Личное сообщение · #1

удалено



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

Создано: 24 июля 2013 07:53
· Личное сообщение · #2

iROOT пишет:
Как например в OllyDbg отследить как программа читает архив?

CreateFile, SetFilePointer, ReadFile (чаще всего используются они)
CreateFileMapping и связанные с ним

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


Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 21 сентября 2013 10:52 · Поправил: Модератор
· Личное сообщение · #3

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



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

Создано: 29 ноября 2013 23:16 · Поправил: iROOT
· Личное сообщение · #4

удалено




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 29 ноября 2013 23:21 · Поправил: reversecode
· Личное сообщение · #5

в каком это екзешнике или длл эта функция? название

что еще за бейсз адресс? это указатель на какую то структуру данных
вы там точно понял что происходит и не перемудрили?

я спросил о модуле где находится XOR_NAMETABLES а не о всей игре

ИМЯ МОДУЛЯ? ИЛИ ЭТО В EXE??



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

Создано: 29 ноября 2013 23:28 · Поправил: iROOT
· Личное сообщение · #6

удалено




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 30 ноября 2013 00:25
· Личное сообщение · #7

add = j + *read_address % 5;
в питоне пропущено или я не увидел
add в итоге в питоне помоему прыгает не так как в оригинальном исполнении



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

Создано: 30 ноября 2013 00:58 · Поправил: iROOT
· Личное сообщение · #8

удалено




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 30 ноября 2013 01:16
· Личное сообщение · #9

name_length = *read_address;
add = j + *read_address % 5;

можно упроситить до

name_length = *read_address;
add = j + name_length % 5;

*(read_address + i + 4) ^= add + 2 * (i + name_length);

меняется на

((char*)read_address)[ i+4] ^= add + 2 * (i + name_length);

думаю теперь более понятно
что по read_address первые 4 байта это длинна, а следующие байты за 4 дексорятся

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

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

Создано: 30 ноября 2013 02:07 · Поправил: iROOT
· Личное сообщение · #10

удалено




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 30 ноября 2013 02:11
· Личное сообщение · #11

name_length = ReadUByte(read_address);
там все же 4 байта читается а не один, может какой нибудь ReadDWord?



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

Создано: 30 ноября 2013 02:20 · Поправил: iROOT
· Личное сообщение · #12

удалено




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 30 ноября 2013 02:23
· Личное сообщение · #13

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



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

Создано: 30 ноября 2013 02:57 · Поправил: iROOT
· Личное сообщение · #14

удалено



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

Создано: 30 ноября 2013 03:31
· Личное сообщение · #15

iROOT пишет: Теперь проблема что zlib в Python не всегда распаковывает, для разных файлов по разному.
zlib обновите у них баг был во всей линейке питона или заюзайте другую библиотеку.

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

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

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

удалено




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

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

разбирайте полностью процедуру которая распаковывает эти паки
малопонятные места можно в дебаггере сверять со значениями анпакера на той итерации когда это начинает глючить у вас

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

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

Создано: 30 ноября 2013 20:25 · Поправил: iROOT
· Личное сообщение · #18

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


<< . 1 . 2 .
 eXeL@B —› Вопросы новичков —› Распаковщик формата PAK, разработчика Targem Games (Star Conflict)
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати