![]() |
|
|
|
#1
|
||||
|
||||
|
Quote:
![]() I would say more: IMHO that is not even a small step for vm development. It's still only a sample of pure code scrambler. Of course it will complicate reversing, especially when you take memory blocks checksum results as descrambling arguments/parameters or opcodes decryption. Complicate, but for whom? Approximately 95% crackers. There is still 5% left of them and they expect much harder protection. IMHO VM has to operate in own environment (CPU, registers, stack, memory - including structure and communication). Sometimes virtual machines are misunderstand with virtualization but the topic we discuss is not close to virtualisation too (VMWare and VirtualPC are). EDIT: Sorry, I did not notice your question "how vm works then". Well, each one of us can have own definition and imagination but if you want to take a look at vm inside protector then you can take Themida - it contains vm but it resembles x86 (I mean is not very hard to reverse). Question why is another topic, but you can answer it yourself looking at SPARC/PowerPC open source emulators available on the net. Next kind of virtual machines are the ones residing in Atari/ZX/C64/Amiga emulators. They are often "perfect" virtual machines, able to serve as real virtual environment. If we are talking about vm in protections then definitely the best vm resides inside StarForce - it is already a legend. The rest is mystic... Regards. Last edited by dyn!o; 12-08-2006 at 19:15. |
|
#2
|
|||
|
|||
|
Well, I know the difference between virtualisation and a virtual machine. And, again, I didn't say this protection uses a VM.
Of course a VM needs a operating environment. But anybody can code a VM in just two minutes (OK, maybe 2 hours if you don't just want to have a two-opcode VM, but something which can be used for something). But the problem is not to create the VM, the problem is how to convert any existing piece of code into virtual opcodes, which behave in the VM exactly like the original opcodes on a real CPU. And if you've already analysed the original code deep enough to use the type of protection mentioned in the first post, it is just a simple step to convert any instruction into a virtual opcode and run it in the VM. What other really big part do you miss, if this "is not even a small step for vm development"? (assuming that I'm not a super great coding mastermind and therefore don't understand where the big problem is hiding) |
|
#3
|
|||||
|
|||||
|
Oh my
, I have no advanced knowledge about virtual machines or protections. I just came today, after a long break, to raise my post count in order to keep my account alive - I am serious. I took the first thread in General Discussion - it was a coincidence of choosing this topic. I am talking about my dreams only. Not "the only truth".Quote:
Quote:
Quote:
Quote:
Quote:
1. Stack frames (not to mention FPU stack pointer )2. Registers 3. Code evaluation 4. Exceptions 5. Non-static code support 6. Memory management 7. Privileged instructions 8. System API emulator 9. Interrupts 10. Threads 11. System calls If that seems easy for anyone then we can extend this list at least twice. Kind regards. |
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| .net modification of a method (without decompilation) | Shub-Nigurrath | General Discussion | 8 | 10-15-2013 21:04 |
| search method passwords | goku | General Discussion | 7 | 07-14-2010 02:15 |
| Protection against point-h method? | TheDutchJewel | General Discussion | 7 | 05-06-2004 01:32 |
| What method to use? | bartster | General Discussion | 11 | 02-08-2004 23:19 |