Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.23;
Скачать: CL | DM;

Вниз

По поводу дампа памяти..   Найти похожие ветки 

 
@!!ex ©   (2008-09-25 14:36) [0]

Откройте обратно. Там нет ничего противозаконного!
Я не пишу кряки, хаки и вирусы. Я работаю в сфере локализаций, причем НЕ пиратской... уже писал вроде, когда аналогичные темы открывал.


 
KSergey ©   (2008-09-25 14:40) [1]

Зачем при непирацкой локализации дампить память?! Прога на ассемблере и сразу в кодах мастрячится умельцами причем сразу в виде самораспаковывающегося архива?! Остальные неумельцы маются перепаковкой, очевидно, т.к. править прямо байты архива не умеют :)


 
@!!ex ©   (2008-09-25 14:43) [2]

> [1] KSergey ©   (25.09.08 14:40)

Ниче не понял... из сказанного...

архив в непонятном виде... часть данных не шифрована вообще, часть зашифрована, разделителей никаких нет...
есть 4 байта в начале файла(непонятного назначения), дальше подряд, без всяких разделителей идут тела файлов. имена файлов где-то есть, но где - непонятно. Нужно вытащить ресурсы - картинки и тексты и перевести их.
как сделать? Я придумал только дамп памяти снять, там вроде данные в обычном массиве лежат с указателями на телфа файлов. Легко вынуть.


 
KSergey ©   (2008-09-25 14:49) [3]

> @!!ex ©   (25.09.08 14:43) [2]
> как сделать?

Запросите у разработчиков исходники из которых они это собирают. Или предложите им включить ваши картинки в сборку локализованной версии.

Или вы серьезно хотите сказать, что локализованные продукты фирмами делаются путем разборки готовых англоязычных инсталлаторов и перепаковки их с локализованными файлами? Самому-то не смешно? )


 
@!!ex ©   (2008-09-25 14:57) [4]

> [3] KSergey ©   (25.09.08 14:49)

Не смешно. Вы явно никогда не работали в сфере мелких игр.
Я работал. Год работал в фирме MyPlayCity.
работа заключалась в том, что я делал игры по ТЗ.
В одиночку, на любом языке, с использованием любых средств, главное чтобы игра была лицензионно чистой.
Исходники все у меня, даже больше, я единственный владелец исходников. Они - моя собственность.
А вот продукт и весь контент - принадлежит MyPlayCity.
Я оттуда уволился. Теперь они захотели перевести игру на французский... Что им делать? Меня найти практически не реально. Кто из MyPlayCity знает где я сейчас? Да никто. Гарантии что я их не пошлю на запос исходников? Никакой. И что делать? ОТдавать в YupiiStudio и другие аналогичные конторы.


 
KSergey ©   (2008-09-25 15:01) [5]

нафик нафик такую работу....


 
@!!ex ©   (2008-09-25 15:05) [6]

В основном проекты не сложные. часто архивы в zip, или xor ом зашифрованные. такие ломаются нараз.
Но изредка попадается гадость типа той, что сейчас делаю...
а работа... не хуже других, вобщем-то. удаленная, и платят нормально.


 
Правильный$Вася   (2008-09-25 15:17) [7]


> часть данных не шифрована вообще, часть зашифрована

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


 
@!!ex ©   (2008-09-25 15:23) [8]

> [7] Правильный$Вася   (25.09.08 15:17)

По сигнатуре нашел несколько стандартных типов, типа png и ogg. вытащил, вроде вполне корректные файлы.
Также видно из под Olly, что из архива выдираются XML с текстом, но при этом ничего похожего на xml - в рахиве не обнаружено. :(
Отсюда и вывод.. png ogg и подобные не шифрованы вообще. xml - зашифрованы. имена файлов должны быть полюбому - но их нет, значит тоже шифрованы.


 
Правильный$Вася   (2008-09-25 15:49) [9]


> имена файлов должны быть полюбому - но их нет, значит тоже шифрованы.

не факт, может они фиксированы и хранятся в коде, а не в ресурсах

> из архива выдираются XML с текстом, но при этом ничего похожего
> на xml - в рахиве не обнаружено

так они не обязательно шифрованы, может,они просто пожаты


 
Городской Шаман   (2008-09-25 16:01) [10]

ReadProcessMemory - читает память процесса.

Но для того чтобы прочитать ее необходимо прежде всего включить Debug привилегию у процесса который хочет читать/писать память других процессов, которая даже под админом есть но по умолчанию выключена.

Вот пример не мой, как включить shutdown привилегию там же по аналогии для debug

procedure ShutDown;
const
 SE_SHUTDOWN_NAME = "SeShutdownPrivilege"; // Borland forgot this declaration
var
 hToken: THandle;
 tkp: TTokenPrivileges;
 tkpo: TTokenPrivileges;
 zero: DWORD;
begin
 if Pos("Windows NT", GetWinVersion) = 1 then // we"ve got to do a whole buch of things
 begin
   zero := 0;
   if not OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then
   begin
     MessageBox(0, "Exit Error", "OpenProcessToken() Failed", MB_OK);
     Exit;
   end; // if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)

   if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then
   begin
     MessageBox(0, "Exit Error", "OpenProcessToken() Failed", MB_OK);
     Exit;
   end; // if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)

   // SE_SHUTDOWN_NAME
   if not LookupPrivilegeValue( nil, "SeShutdownPrivilege" , tkp.Privileges[0].Luid ) then
   begin
     MessageBox(0, "Exit Error", "LookupPrivilegeValue() Failed", MB_OK);
     Exit;
   end; // if not LookupPrivilegeValue( nil, "SeShutdownPrivilege" , tkp.Privileges[0].Luid )

   tkp.PrivilegeCount := 1;
   tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;

   AdjustTokenPrivileges(hToken, False, tkp, SizeOf( TTokenPrivileges ), tkpo, zero);
   if Boolean(GetLastError()) then
   begin
     MessageBox(0, "Exit Error", "AdjustTokenPrivileges() Failed", MB_OK);
     Exit;
   end // if Boolean( GetLastError() )
   else
     ExitWindowsEx( EWX_FORCE or EWX_SHUTDOWN, 0 );

 end // if OSVersion = "Windows NT"
 else
 begin // just shut the machine down
   ExitWindowsEx( EWX_FORCE or EWX_SHUTDOWN, 0 );
 end; // else
end;


Через VirtualQuery получаешь действительно занятые страницы процесса и просто сбрасываешь их в файл в удобном для тебя формате.


 
Городской Шаман   (2008-09-25 16:01) [11]

А вообще можно взять тупо softice и просто из него сбросить на диск нужную часть памяти.



Страницы: 1 вся ветка

Текущий архив: 2008.11.23;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
2-1223819376
lewka
2008-10-12 17:49
2008.11.23
WebBrowser


15-1222403541
Slider007
2008-09-26 08:32
2008.11.23
С днем рождения ! 26 сентября 2008 пятница


3-1209892813
Ega23
2008-05-04 13:20
2008.11.23
ADO Exception на потерю соединения


2-1223763095
aslanbek
2008-10-12 02:11
2008.11.23
Обработки ошибок.


8-1187970529
master_asasin
2007-08-24 19:48
2008.11.23
gdi+