Since the URL are in the SWF, we started looking deeper inside the binary and the SWF Format. SWF Files have a header, which is telling if the SWF file is compressed or not. In our case it was, so you cannot look into binary and see the URLs in plain text. We had former experience with SWF files, so we knew how to compress/decompress SWF files. That's the reason why we use our own code for decompressing it.
After decompressing it, you can see the URLs in plaintext, the only problem is, that there is much binary crap. So we wrote some small python code, to search for the links inside the binary.
The final program can be found on our site.
Download it from http://fvinternals.funpic.de/codes/extracthashedimages.exe
You will also need the runtimes from http://fvinternals.funpic.de/codes/runtime/
Copy all files to "C:\FV\"
Download the Farmgame.swf from Farmville, we used FarmGame.release-10-08-12.39998.swf for our tests.
c:\FV> extracthashedimages.exe FarmGame.release-10-08-12.39998.swfand you should see a new file images.txt in your folder. Open it and you see the Hashtable in the format
old link:new hashed link
If you need the source code, feel free to e-mail us.
We used the data for generating a website, which displays the itemcodes and the belonging new image URL. Visit it on http://fvinternals.funpic.de/hashedimages.php
We also made a search formular to filter interesting values like
- Item type, e.g. show only animals
- Item code search, e.g. display only code with "horse" in text
- Show only items, that doesn't need Farmville cash
- Show only items, that are only buyable with Farmville cash
If you have questions, or request, you can e-mail us, just read our first post for e-mail or write a comment.
Doesnt work :(
ReplyDeletehttp://img594.imageshack.us/img594/7136/821201064033pm.png
Did you download the runtime files from http://fvinternals.funpic.de/codes/runtime/ ? If not place them into the same folder "c:\FV" and run it again
ReplyDeleteYes, ive downloaded them and put under "c:\FV".
ReplyDeleteIt seems some .pyd files are missing. Download the new .pyd files from http://fvinternals.fv.funpic.de/codes/runtime/ to your directory and then run it again.
ReplyDeleteNot working for me either http://i33.tinypic.com/2h7dx0x.png
ReplyDeleteI am using Windows 7
Seems like a problem with the zlib library. Can you try it out with an actual swf file?
ReplyDeleteI got it working - just installed python and tried again and it worked :) thanks alot
ReplyDeletecan i use the sothink decompilier to extract the swf file?
ReplyDeleteWould be good to have the item CODE returned with the search data too. As eR for gnomecaveman or U3 for cow_green.
ReplyDelete