| TheBlasphemer 的个人资料Stuffplug 3 Development ...照片日志列表 | 帮助 |
|
3月19日 March 19th, memory searching done0123 The Netherlands. Memory searching is finally done. That header above was supposed to look JAG (or any other military series/movie for that fact) like, however the time being 01:23AM now kinda spoils that since 0123 looks stupid :P Anyway, Reached another (what I'd call) milestone today. As some of you might know, most StuffPlug features are quite similar to patches. They look for certain byte-codes, and replace them. The only real difference being that patches do it on disk, and SP does it in-memory. There's a few more differences, but I'll spare you the details ;) To keep StuffPlug compatible with future release of messenger, I've been using a memory search module that I wrote way back somewhere in SP-NG or something. It used a syntax like this: {0x86,0xFF,0xB6,0x58,...} It's split up in bytes, and each byte is prefixed with 0x to indicate it's hex. Also the 0xFF was used as a "wildcard" that would match anything. This screwed up a few features in the past because the numner -1 is represented in memory as FFFFFFFF, so I could never search for -1 as that'd end up being 4 wildcards ;) Today, I decided I wanted a new memory search engine. I wanted the disadvantages of the old method gone: - No more funky wildcard character that fucks things up - Fast - Easy to use and update for me So I write this new method that takes this as an input: {L"CEDPStealer",MEMPATTERN::TYPE_NORMAL,"74 ?? FF 75 E4 E8"}, The ? is now wildcards, and it can work on a per nibble (half a byte) basis too, that's the solution for easy to use and update :). Furthermore all search patterns are now stored in one place, and It's all written in such a way that I can easily add other memory-search routines later (see the MEMPATTERN::TYPE_NORMAL thing ;)), and I can easily cache offsets. Yes, that's right, caching :D That means that StuffPlug will only have to search for patterns if you update your messenger, so StuffPlug might take a few seconds to start up the first time, and if you update messenger, but apart from that it will launch blittering fast :D Apart from that I had a bit of a fight with the user-interface a while back. It just refuses to stretch 32-bit (alpha transparent) PNG files. I ended up just using normal PNG files. It's a bit of a let-down for me personally, as I consider it cheating. But it gives the same results so what the heck ;) Last, but not least, I've seen someone comment in the last blog-post about becoming a beta-tester. To clear things up, I'll explain what I had in mind for testing StuffPlug. The initial release will be divided up into 5 stages. Updates will probably have other stages, but for the first SP3, this is what's going to happen: - Stage 1: Alpha. Only I and a few select people get to see it, and only for testing purposes. No getting into this stage unless I ask you ;) - Stage 2: Private beta. Once I think the add-on is stable, I'll allow friends to test it. No getting into this stage unless you're a friend ;) - Stage 3: Managed beta & Translating. If the selected group of testers has had time to test, I'll enlarge the number of testers. I will probably post a request for beta-testers on the stuffplug site, and I think I will also invite translators to join this beta so they can start translating. If you want to get in this stage, start thinking about what you'd write if I'd ask you why you want to be a beta tester :) - Stage 4: "public" beta. In this stage I will allow messenger-sites to test Stuffplug and prepare re- and previews. If you want to get in this, you should have a popular messenger site :) Also the managed beta-testers will get permission to write previews and post screenshots. - Stage 5: Released. :) I hope that cleared everything up :) It's now 01:37, and I think I should go to bed ;) Goodnight, TB 评论 (1)
引用通告此日志的引用通告 URL 是: http://stuffplug.spaces.live.com/blog/cns!F2D8E79CB544C6D6!125.trak 引用此项的网络日志
|
|
|