ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Javascript и С/C++
  #1  
Старый 28.03.2010, 01:10
++Norton++
Участник форума
Регистрация: 20.11.2006
Сообщений: 172
Провел на форуме:
539954

Репутация: 106
По умолчанию Javascript и С/C++

Интересует один вопрос, реально ли выполнить кусок javascript кода с помощью С/C++?
Т.е. к примеру на входе мы читаем файл, в котором есть к примеру:
Код:
<script>document.write("test");</script>
На выходе получаем вывод строки: test на экран. И т.п. (разные функции escape() и другие)
Может есть какая-нибудь библиотека?
Заранее спасибо!
 
Ответить с цитированием

  #2  
Старый 28.03.2010, 01:47
GhostOnline
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме:
828081

Репутация: 84
По умолчанию

Я для таких целей юзаю ActiveX компонент ScriptControl
 
Ответить с цитированием

  #3  
Старый 28.03.2010, 02:54
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

 
Ответить с цитированием

  #4  
Старый 07.04.2010, 18:19
Interceptor
Новичок
Регистрация: 06.04.2010
Сообщений: 7
Провел на форуме:
34985

Репутация: 0
По умолчанию

Цитата:
Сообщение от ++Norton++  
Интересует один вопрос, реально ли выполнить кусок javascript кода с помощью С/C++?
Т.е. к примеру на входе мы читаем файл, в котором есть к примеру:
Код:
<script>document.write("test");</script>
На выходе получаем вывод строки: test на экран. И т.п. (разные функции escape() и другие)
Может есть какая-нибудь библиотека?
Заранее спасибо!
Есть стандартные COM объекты для поддержки скриптов: IActiveScript, IActiveScriptParse, IActiveScriptSite. Смотри описание в мсдн.
Вот пример кода как это делается.
Код:
HRESULT hr;
CComPtr<IActiveScript> spActiveScript;
CComPtr<IActiveScriptParse> spScriptParse;
CComPtr<IActiveScriptSite> spSite; // must be implemented by host

if( FAILED( hr = CoCreateInstance( clsidEngine, // set clsid of VB or JS engine, depending on input language
    NULL, CLSCTX_INPROC_SERVER, IID_IActiveScript, (void**)&spActiveScript ) ) )
    return hr;

if( FAILED( hr = spActiveScript->QueryInterface( IID_IActiveScriptParse, (void**)&spScriptParse ) ) )
    return hr;

if( FAILED( hr = spActiveScript->SetScriptSite( spSite ) ) )
    return hr;

if( FAILED( hr = spScriptParse->InitNew() ) )
    return hr;
// use this to add your own objects into script namespace
if( FAILED( hr = spActiveScript->AddNamedItem( g_lpstrController, SCRIPTITEM_GLOBALMEMBERS|SCRIPTITEM_ISVISIBLE ) ) )
    return hr;

CComBSTR bstrScript; // load from text file

EXCEPINFO ei;
if( SUCCEEDED( hr = spScriptParse->ParseScriptText( bstrScript, NULL, NULL, NULL, 0, 0, 0, NULL, &ei ) ) )
{
    SCRIPTSTATE st;
    if( SUCCEEDED( hr = spActiveScript->GetScriptState( &st ) ) )
    {
        if( st != SCRIPTSTATE_CONNECTED )
	{   // run script
             hr = spActiveScript->SetScriptState( SCRIPTSTATE_CONNECTED );
        }
    }
}
return hr;
Единственно что нужно отметить, для того чтобы получилось обратиться в скрипте document.write() необходимо реализовать объект поддерживающий IDispatch интерфейс реализирующий метод write() и добавить его в пространство имен скрипта под именем "document" (AddNamedItem) что в общем-то и делает IE, а иначе будут доступны только основные методы языка: математические функции, строки, массивы и т.д.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Самораспаковка на JavaScript pretolock PHP, PERL, MySQL, JavaScript 2 14.06.2009 22:33
Основы JavaScript .Slip Авторские статьи 20 16.05.2006 23:44
Books JS FRAGNATIC PHP, PERL, MySQL, JavaScript 0 11.08.2005 16:57
Bypassing JavaScript Filters the Flash! Attack k00p3r Чужие Статьи 0 12.07.2005 16:11



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ