extern "C" void *_ZN3JSC7UString3Rep14nullBaseStringE __attribute__((__weak_import__));
extern "C" void *_ZN3JSC7UString3Rep7destroyEv __attribute__((__weak_import__));
extern "C" void *_ZN3JSC7UStringC1EPKti __attribute__((__weak_import__));
+extern "C" void *_ZN3JSC7UStringC1EPKc __attribute__((__weak_import__));
extern "C" void *_ZNK3JSC7UString6substrEii __attribute__((__weak_import__));
extern "C" void *_ZN3WTF10fastMallocEm __attribute__((__weak_import__));
extern "C" void WTFReportAssertionFailure(const char *, int, const char *, const char *) __attribute__((__weak_import__));
&_ZN3JSC7UString3Rep14nullBaseStringE == NULL ||
&_ZN3JSC7UString3Rep7destroyEv == NULL ||
&_ZN3JSC7UStringC1EPKti == NULL ||
+ &_ZN3JSC7UStringC1EPKc == NULL ||
&_ZNK3JSC7UString6substrEii == NULL ||
&_ZN3WTF10fastMallocEm == NULL ||
&WTFReportAssertionFailure == NULL ||
return __ZN3JSC6Parser5parseEPNS_12JSGlobalDataEPiPNS_7UStringE(_this, global, line, message);
else {
SetParser(false, true);
+
JSC::SourceCode *source(*_this);
const uint16_t *data(source->data());
size_t size(source->length());
+
apr_pool_t *pool;
apr_pool_create(&pool, NULL);
+
Cycriptify(pool, data, size);
- JSC::SourceCode code(JSC::makeSource(JSC::UString(data, size)));
- *_this = &code;
- __ZN3JSC6Parser5parseEPNS_12JSGlobalDataEPiPNS_7UStringE(_this, global, line, message);
+ source->~SourceCode();
+ new (source) JSC::SourceCode(JSC::UStringSourceProvider::create(JSC::UString(data, size), "cycript://"), 1);
+
apr_pool_destroy(pool);
- *_this = source;
+
+ __ZN3JSC6Parser5parseEPNS_12JSGlobalDataEPiPNS_7UStringE(_this, global, line, message);
}
}
else {
const uint16_t *data(code);
size_t size(length);
+
apr_pool_t *pool;
apr_pool_create(&pool, NULL);
+
Cycriptify(pool, data, size);
__ZN3KJS6Parser5parseEiPKNS_5UCharEjPiS4_PNS_7UStringE(_this, start, data, size, source, line, message);
+
apr_pool_destroy(pool);
}
}
ldid -S $@
WebCycriptLockScreen: LockScreen.mm makefile $(base)/../mobilesubstrate/substrate.h
- $(target)g++ -F. -bundle -mthumb -g0 -O2 -Wall -Werror -o $@ $(filter %.mm,$^) -lobjc -I$(base)/../mobilesubstrate $(link) $(flags) -framework CoreGraphics -framework QuartzCore -framework SpringBoardUI -framework WebCore -framework GraphicsServices -framework TelephonyUI -I$(jscore) -iquote$(webcore)/{bindings/js,dom,loader,platform{,/animation,/cf,/network{,/cf},/text},/rendering/style} -iquote$(jscore)/{bytecode,debugger,interpreter,jit,parser,runtime} -lapr-1 -weak_reference_mismatches weak -framework JavaScriptCore -lpcre
+ $(target)g++ -F. -bundle -mthumb -g0 -O2 -Wall -Werror -o $@ $(filter %.mm,$^) -lobjc -I$(base)/../mobilesubstrate $(link) $(flags) -framework CoreGraphics -framework QuartzCore -framework SpringBoardUI -framework WebCore -framework GraphicsServices -framework TelephonyUI -I$(jscore) -iquote$(webcore)/{bindings/js,dom,loader,platform{,/animation,/cf,/network{,/cf},/text},/rendering/style} -iquote$(jscore)/{bytecode,debugger,interpreter,jit,parser,runtime} -lapr-1 -weak_reference_mismatches weak -framework JavaScriptCore -lpcre -DNDEBUG
ldid -S $@
extra: