Сейчас на форуме: Magister Yoda, vasilevradislav, site-pro (+5 невидимых)

 eXeL@B —› Крэки, обсуждения —› Приложение с дллкой (dll-inject). Вопрос
Посл.ответ Сообщение

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

Создано: 15 апреля 2014 02:30 · Поправил: Fenrisus
· Личное сообщение · #1

Доброго времени суток. Суть задачи - сделать "portable" версию приложения с DLL-injected кряком.
Немного подробнее: я взломал одно приложение хукнув туда DLL'ку свою, которая меняет значения в памяти, ну и которая имеет много разного функционала для работы с приложением типа:

Code:
  1. Naked (gKeyAppASM00)
  2. {
  3.          _asm
  4.          {
  5.                  MOV gTmpEax,EAX
  6.                  MOV gTmpEsi,ESI
  7.                  MOV gTmpEdi,EDI
  8.                  MOV gTmpEcx,ECX
  9.                  MOV gTmpEdx,EDX
  10.                  MOV gTmpEbx,EBX
  11.                  MOV gTmpEsp,ESP
  12.                  MOV gTmpEbp,EBP
  13.          }
  14.          //----
  15.          patchRSAKey();
  16.          //----
  17.          _asm
  18.          {
  19.                  MOV EAX,gTmpEax
  20.                  MOV ESI,gTmpEsi
  21.                  MOV EDI,gTmpEdi
  22.                  MOV ECX,gTmpEcx
  23.                  MOV EDX,gTmpEdx
  24.                  MOV EBX,gTmpEbx
  25.                  MOV ESP,gTmpEsp
  26.                  MOV EBP,gTmpEbp
  27.                  PUSH 0x0
  28.                  MOV ECX,DWORD PTR SS:[EBP-0x4]
  29.                  //---
  30.                  JMP gKeyAppASM00Jmp00
  31.          }
  32. }

Все работает замечательно. Только вот проблема: чем я могу прилепить эту DLL'ку к приложению (и ресурсы например), что бы не таскаться с ней? Пробовал Крота (Molebox) - пишет что DLL Corrupted при запуске. А взял стандартный file-joiner, у меня вот такая вот простыня
(File-joiner + UPX). В принципе когда DLL торчит наружу - антивири не ругаются. Посоветуйте чего дельного, чем можно DLL'ку то "прикрепить" а-ля Molebox?




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 15 апреля 2014 02:35 · Поправил: Dr0p
· Личное сообщение · #2

Fenrisus

Из памяти загружайте.



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

Создано: 15 апреля 2014 02:48
· Личное сообщение · #3

Хмм... а какой нибудь пример? DLL'ка сейчас загружается через LoadLibraryA...



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 15 апреля 2014 02:53
· Личное сообщение · #4

http://forum.antichat.ru/showthread.php?t=132116



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

Создано: 15 апреля 2014 02:59
· Личное сообщение · #5

Ооо спасибо. Буду пробовать




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 15 апреля 2014 03:04 · Поправил: Dr0p
· Личное сообщение · #6

TryAga1n

Там не годные методы описаны. Следует взять лодер, который сам полноценно выполняет работу с пе, а не вручную настраивать всё. Я бы LWE заюзал, он на x64 тоже робит.



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

Создано: 15 апреля 2014 03:16
· Личное сообщение · #7

Ну да, методы не особо годны. Уже почитал. Там то суть задачи не hide-dll-инжект load, а в том, что бы просто эту дллку (уже хукнутую и работающую) "вшить" в экзешник, и что бы она работала (ога попробовал запаковать Темидой - то темида крашится то DLL'ка не работает ровно как и весь exe). Еще вот думаю посмотреть VMWare, Thinstall но я пока не нашел версии "условно бесплатной" (хехе). А обычные file-joiner'ы хоть и работают, но тогда все антивири (кроме совсем уж убогих) своим долгом считают завопить про троян.




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 15 апреля 2014 03:24
· Личное сообщение · #8

Fenrisus

Берите LWE и в виде пошифрованного дампа прикрепляйте дллку. Не забудте про антиэмуль. Дллмейн выполняться не будет в статике, так что косяков не будет.



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

Создано: 15 апреля 2014 03:34 · Поправил: Fenrisus
· Личное сообщение · #9

Sir Dr0p, немогли бы вы поделится ссылкотой на LWE?




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 15 апреля 2014 03:44 · Поправил: Dr0p
· Личное сообщение · #10

Fenrisus

Тут поиском поищите в моих постах. У меня есть, но я хз какой билд был последний. Он тут где то выложен. С кл можно наверно слить, хотя там наверно тоже не последний хмм.

--> Link <-- вот.



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

Создано: 15 апреля 2014 04:58 · Поправил: Fenrisus
· Личное сообщение · #11

Ага спс. Последний и сам ищу у меня староват уже.


немного оффтоп. по поводу DLL'ки, хотел сделать sound notifications(ну типа событие - звук там какой), интересный вопрос такой - почему не работает:
Code:
  1. #inclide <windows.h>
  2. #include <mmsystem.h>
  3.  
  4. //хотя нормальные люди подключают это в линкере гыгы но тест же.
  5. #pragma comment(lib, "Winmm.lib")
  6.  
  7. extern "C" __declspec (dllexport) void __cdecl EntryPoint()
  8. {
  9.                 //вылезалка типа длл работаэ
  10.                  TestNotify();
  11. }
  12.  
  13. BOOL APIENTRY DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
  14. {
  15. switch (ul_reason_for_call)
  16. {
  17. case DLL_PROCESS_ATTACH:
  18. //по идее тут должен быть звукъ
  19. PlaySound("sound.wav", 0, SND_FILENAME | SND_SYNC);
  20. EntryPoint();
  21. break;
  22. }
  23. return TRUE;
  24. }

Вот кому не скидывал (уже 4 человека) никому не удавалось сделать что бы PlaySound (WinAPI) работал...
Хоть и оффтоп и вообще тема программистская, но был бы рад, если б кто обьяснил почему "из" dll'ки звук не воспроизводится. Перепробовал уже и .RC делать, и даже в DLLMain добавлял hInstance (но тогда dll тупо не работает и не выводит текстовое сообщение и звук).




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 15 апреля 2014 06:38
· Личное сообщение · #12

Fenrisus

Code:
  1.  Инициализация шадова.
  2.  Если вызвать теневой сервис до инициализации User32, это приведёт к фолту 
  3.  при вызове вектора в apfnDispatch{}. При инициализации верифера шадов не 
  4.  инициализирован. Пропустить инициализацию модулей нельзя, так как в статически 
  5.  прилинкованных модуля может быть детект дебаггера. Выполнить вручную дллмейн 
  6.  нельзя, так как не инициализирован кернел. Решение очевидно - обождать возврат 
  7.  из дллмейн юзер32. Для этого описываем слепком дллмейн. Фильтр выполнит наш 
  8.  код при возврате из сервисов в дллмейн, тогда мы маршрутизируем(2nd). В отложенной 
  9.  процедуре мы получим управление при возврате из дллмейн(UserClientDllInitialize
  10.  ). При этом шадов полностью инициализирован.


Вероятно по той же причине у вас и не робит. В добавок нельзя потоки создавать в дллмейн из за загрузочной блокировки - LdrpLoaderLock.



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

Создано: 16 апреля 2014 22:55
· Личное сообщение · #13

TryAga1n пишет:
http://forum.antichat.ru/showthread.php?t=132116

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



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 16 апреля 2014 22:57
· Личное сообщение · #14

.

632b_16.04.2014_EXELAB.rU.tgz - DLLLoad.zip

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


Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 17 апреля 2014 05:06
· Личное сообщение · #15

Весьма печально. Создан полноценный загрузчик, который даже нельзя улучшить никак, причём с динамическим недетектом за счёт маршрутизаций. Но это никому не нужно, лучше заюзать какой то отстой

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

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

Создано: 18 апреля 2014 12:59
· Личное сообщение · #16

Загрузчик там конечно неплох, в чем то. Однако уж лучше заюзать LWE, хотя я щас придумал и пробую совсем топорный метод. (Опять изобретаю велосипед) Думаю взять вот эту DLL'ку и сделать следующее. В программе есть BinaryData, так вот, в этот .dat файл добавить секцию с кодом DLL'ки, следовательно при загрузке (оффсет знаю где) читать это и от туда инициализировать... Чую что не по тому пути иду, но попробую чисто ради интереса.




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 18 апреля 2014 13:54
· Личное сообщение · #17

Fenrisus

Так это загрузчики и делают.


 eXeL@B —› Крэки, обсуждения —› Приложение с дллкой (dll-inject). Вопрос
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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