Obfuscation for SOLO

download Obfuscation for SOLO

of 12

Transcript of Obfuscation for SOLO

  • 8/12/2019 Obfuscation for SOLO

    1/12

    Obfuscation for SOLO

    What is Obfuscation?

    When we compile .Net project, Visual Studio generates output in the form of Dlls and

    Exe. Those Dlls and Exe are eas to re!erse engineer. "reel a!aila#le decompilers suchas $.NET %eflector& can gi!e an one access in seconds to the full source code of .netli#raries and applications. 'ecause of this, an one can re!eal software licensing code,cop protection mechanisms as well as proprietar #usiness logic. (#fuscation is aprocess of renaming s m#ols in assem#lies as well as other tric)s to foil decompilers.

    What Obfuscation Will Do Significantl increase the difficult of understanding or modif ing an assem#l *s

    code.

    What Obfuscation Will Not Do

    +t does not change logic of our code.

    Steps to Obfuscate Dlls and Exes

    odeWall is a tool we are going to use for o#fuscation. To (#fuscate S(-( Dlls and Exe,lease follow #elow steps.

    Step 1: (pen odeWall tool. /ome screen for odeWall tool is displa ed in #elow picture.

  • 8/12/2019 Obfuscation for SOLO

    2/12

    Step 2: ompile all the dlls # signing with solo.sn) file.

    Select Solo0(rchestra.exe in 1ain Executa#le text#ox and add following se!en Dlls #clic)ing on 2dd "ile3s4 #utton in $2dd or %emo!e "iles to roject& section.

    5. (rch(ffice2ddin.dll6. (rchDragDrop.dll

    7. Excel%i##on.dll

    0. Word%i##on.dll

    8. T%i##on.dll

    9. S ncData.dll

    :. (utloo)Solo%i##on.dll

  • 8/12/2019 Obfuscation for SOLO

    3/12

    Step 3: lic) on $ lic) here to configure additional folders to search fordependencies& lin) and gi!e path for Shared lassDotNet "olders on our s stem asdepicted in #elow picture.

    Step : lic) on second ta# on odeWall tool 3i.e. Select rotection T pe4. hec)(#fuscation chec)#ox and method #od protection chec)#ox. 1a)e sure no othermethod is #een chec)ed.

  • 8/12/2019 Obfuscation for SOLO

    4/12

    Step !: lic) on $2ppl to& in 1ethod 'od rotection and unchec)(utloo)Solo%i##on.dll as shown #elow.

  • 8/12/2019 Obfuscation for SOLO

    5/12

    Step !: Now clic) on $2d!anced Settings& next to (#fuscation chec)#ox. Select rulesfor $ urrent %ules& as depicted in #elow picture and close the #ox.

  • 8/12/2019 Obfuscation for SOLO

    6/12

  • 8/12/2019 Obfuscation for SOLO

    7/12

    Now clic) on $2d!anced Settings& next to method #od protection chec)#ox.

    Select rules for $ urrent %ules& as depicted in #elow picture and close the #ox.

  • 8/12/2019 Obfuscation for SOLO

    8/12

    Step ": Select third ta# in odeWall tool 3i.e. rotect 2ssem#lies4. hec) $Signrotected 2ssem#lies& chec)#ox and select )e file 3solo.sn)4 # clic)ing on #rowse

    #utton. Select output folder in $(utput "older& text#ox. "inall clic) on rotect #uttonto o#fuscate all Dlls and Exe. ;ou should get success message as depicted in #elowpicture. There must #e a map file 3(#fuscation.map4 generated along with allo#fuscated Dlls as well as Exe in specified output folder.

  • 8/12/2019 Obfuscation for SOLO

    9/12

    The map file generated # odeWall contains mapping of 2-- functions from e!erassem#lies as well as exe. Solo is reading this map file in order to process

    ..?trun)?S(-(?2dmin?(#fuscation?+n!o)ed"unctions.xml

  • 8/12/2019 Obfuscation for SOLO

    11/12

    Si+nin+ the Outloo)Solo,ibbon -S.O :

    Step 1: op the VeriSign ertificate and the (#fuscated (utloo)Solo%i##on.dll tothe release folder.

    Step 2: (pen Visual Studio ommand rompt which will #e in Visual Studio tools.

    Na!igate to the appropriate release folder where all the files are )ept.

    Exa(ple: ..?Solo?Source?'inaries?(utloo)Solo%i##on?(utloo)Solo%i##on?#in?x 9?%elease

  • 8/12/2019 Obfuscation for SOLO

    12/12

    Step 3: Enter the following ommand=

    /a+e 0 pdate Outloo)Solo,ibbon'dll'(anifest 0certfileertificateNa(e'pfx4 5p6d $ass6ord4

    Step : Enter the "ollowing ommand=

    /a+e'exe 0update Outloo)Solo,ibbon'-sto 0app(anifest789Solo9Source9 inaries9Outloo)Solo,ibbon9Outloo)Solo,ibbon9bin9x;"9,elease9Outloo)Solo,ibbon'dll'(anifest< 0certfile ertificateNa(e'pfx45p6d $ass6ord4