Re: A scheme of software protection

From: Matt Mahoney (matmahoney_at_yahoo.com)
Date: 07/11/05


Date: 11 Jul 2005 11:20:39 -0700

JiXian Yang wrote:
> Jan Panteltje wrote:
> > Do I understand you build a virtual (soft) CPU with a differrent
> > instruction set?
> > That thing can be disassembled, and and then a debugger and disassembler
> > written for it.
>
> Thank you very much for your reply.
>
> Some contents should be added to the paper when I found some reference
> citations.
> Suppose that there exist the debugger and disassembler and the
> instruction set is not differrent, the effect might be:
>
> ...
> Instruction_n;
> Call Calculate_Offset_and_Jump;
> Instruction_n+1;
> Call Calculate_Offset_and_Jump;
> Instruction_n+2;
> Call Calculate_Offset_and_Jump;
> ...
>
> Thanks again for you time.
>
> Sincerely,
>
> JiXian Yang

What is to stop an adversary from writing a virtual CPU with a
debugger, finding the critical jump instruction, then modifying the
virtual CPU to jump the other way at this point?

Do you have an implementation for us to try to break?

-- Matt Mahoney



Relevant Pages

  • Re: A scheme of software protection
    ... > Do I understand you build a virtual CPU with a differrent ... Suppose that there exist the debugger and disassembler and the ... instruction set is not differrent, ...
    (sci.crypt)
  • Re: Getting started
    ... be it a module of a debugger or standalone. ... and produces an assembler ASM file. ... OK, so you call it mnemonics lister instead of disassembler, I was ...
    (comp.os.cpm)
  • Re: Creating a dis-assembler on my own - Project killed ...
    ... Hello Gerhard, ... not intention to copy the way an already functioning disassembler works, ... That's what I will try for my debugger, anyway, ...
    (comp.lang.asm.x86)
  • Re: Getting started
    ... Mr Emmanuel Roche, France wrote: ... be it a module of a debugger or standalone. ... To disassemble a program, the disassembler has to be able to discern which parts of the program are executable code, which are data, and which are text. ...
    (comp.os.cpm)
  • Re: Creating a dis-assembler on my own - Project killed ...
    ... that project and I will rather try to use NASMs disassembler. ... That's what I will try for my debugger, anyway, ... because maintaing the disassembler is quite a lot of effort and NAMS is proven ... Most of the lists do not even go as ...
    (comp.lang.asm.x86)