Il giorno 08/ott/2012, alle ore 04:23, Alexander Bokovikov 
<openwo...@uralweb.ru> ha scritto:


> As a result, you'll have the address of the embedded information in the eax 
> register. I.e. you just need to create the function declaration like this one:
> 
> (void *) myFunc(void); 
> 
> and call it. Hope this code is close to correct one, as I never dealt with 
> Mac OS assembler. And please take it into account, that "5", mentioned in the 
> code above, means the size of the "jmp L2" instruction, which is five in 
> 32-bit assembler, but it will take nine bytes in the 64-bit one. And of 
> course, I'm talking only about x86/64 assembler. Don't know anything about 
> PowerPC one.
> 
> The only what is left out is how to fill out the ".byte" with a useful 
> information. Personally I used a specially written simple utility, 
> transcoding any binary file into the fixed length lines of ".byte " hex 
> codes. You can use decimal or octal codes too. as far as the assembler allows 
> it.


this is way overkill. You can simply write a simple utility to dump the content 
of your resource in a C file:

static char foo[] = {
        0x01, 0x02, 0x03, 
...
};

You don't need to use assembly nor to create bogus functions to get the address 
of foo.

-- 
Simone Tellini
http://tellini.info




_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to