На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
  
> Как скрыть параметры в ф-ии DLL
    написал я свою DLL.


    int WINAPI DllEntryPoint() {}

    __declspec(dllexport) char *Test(char *str,int mode)
    {

    }

    после компиляции если диассемблить эту DLL
    ( я пользовался W32dsm)
    то в разделе: EXPORTED FUNCTION можно увидеть какие параметры нужно передовать:

    ++++ EXPORTED FUNCTIONS ++++++++++++++++++
    Number of Exported Functions = 0002 (decimal)


    Addr:0040146C Ord:   1 (0001h) Name: DecodeString(char*,int)
    Addr:00413208 Ord:   2 (0002h) Name: ___CPPdebugHook

    +++ ASSEMBLY CODE LISTING ++++++++++++++++++

    как сделать так чтобы параметры не были видны ?
    (как во всех системных DLL)
      А релиз дизассемблировать не пробовал? :-*
        А мож проще?

        extern "C"
           __declspec(dllexport) char *Test(char *str,int mode);

        А дальше все что там у тя было начиная с DllEntry.... и тд.
          то что ты видишь такое :
          Addr:0040146C Ord:   1 (0001h) Name: DecodeString(char*,int)
          является результатом искажения имени функции с помощью всяких значков (типа @) цифр и прочих бяк, которые говорят о типе передаваемых параметров.  W32dsm просто расшифровывает эту запись.

          Делай как говорит Frostbitten .
            А можно защититься от большинства дизассемблеров.
            Я использую ASPack, она и размер в два раза уменьшает! :)
            Можно ещё что-нибудь похожее использовать.
            ASPack ~1 Mb Freeware (почти)
            Где качнунь не помню но если попросите то могу вспомнить. ;)
              И что получалось что-то защитить? :)
              Нет защит на свете!
                Цитата Frostbitten, 20.02.02, 15:53:12
                И что получалось что-то защитить? :)
                Нет защит на свете!


                Ну микросакс же держит коды (сорсы) всяких Win, ... в секрете, защищает как может ... но люди ломают, уже вышли кряки и генераторы, ... так что не защитишь, хотя сжатие не помешает!
                  ;D ;D ;D ;D ;DНу может здесь кто знает как вообще избавится от ___CPPdebugHook ?
                    2ysy:
                    ты главное не нервничай и жди ответа в своём топике  >:(
                      Большое спасибо.

                      После
                      extern "C"
                         __declspec(dllexport) char *Test(char *str,int mode);

                      параметры "скрылись" ! 8)
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0251 ]   [ 16 queries used ]   [ Generated: 27.04.24, 16:55 GMT ]