我想对中国制造的激光雕刻机随附的软件进行逆向工程。不幸的是,硬件根本无法与其他软件一起使用...原始软件令人毛骨悚然,已经装有恶意软件(特别是Strictor Trojan),供应商拒绝提供对该程序的支持。我想获得该程序的原始代码,以便删除特洛伊木马程序,调试软件,并使该死的东西正常工作。我花了400多美元买了这个东西,坦率地说,我对软件完全不满意感到非常生气。 (很确定它从win2k开始就没有更新过。。。)它的行为就像是某个高中生写的一个高级项目或其他东西。查看该程序不断输出的错误文件,我100%确保主程序是在.net中制作的(不确定是否是VB,VC,VC ++等)。它指出“ windows.form.button ...”错误,最重要的是,他们需要安装.net框架才能使用它。是什么让我认为可能是VB?但是,在尝试了VBDecompilerLite之后,它说该程序是使用未知的编译器进行编译的...因此,我对此感到茫然。 ,通用提取器,7Zip提取等-所有这些都产生一个0b文件“ [0〜]”,该文件不可读,或者错误提示无法提取文件。

如果有人对我下一步可以尝试的方法有所了解,请告诉我。我无法上传该文件供人们测试,因为-如上所述,该文件包含恶意软件。我正在不在通常网络上的PC上反编译程序,因此那里没有Internet /网络访问。

病毒扫描结果:

Scanner         |   Malware Variant             |   AV updated
---------------------------------------------------------------
ALYac               Gen:Variant.Strictor.99340      20160115
Ad-Aware            Gen:Variant.Strictor.99340      20160115
Arcabit             Trojan.Strictor.D1840C          20160115
Avast               Win32:Malware-gen               20160115
BitDefender         Gen:Variant.Strictor.99340      20160115
Emsisoft            Gen:Variant.Strictor.99340 (B)  20160115
F-Secure            Gen:Variant.Strictor.99340      20160115
GData               Gen:Variant.Strictor.99340      20160115
MicroWorld-eScan    Gen:Variant.Strictor.99340      20160115
Qihoo-360           QVM19.1.Malware.Gen             20160115
Rising              PE:Malware.RDM.18!5.18 [F]      20160114 


请帮助我!

这是程序给出的原始错误。我(如果有帮助):

> See the end of this message for details on invoking  just-in-time
> (JIT) debugging instead of this dialog box.
> 
> ************** Exception Text ************** System.ArgumentException: Parameter is not valid.    at System.Drawing.Bitmap.LockBits(Rectangle
> rect, ImageLockMode flags, PixelFormat format, BitmapData bitmapData) 
> at System.Drawing.Bitmap.LockBits(Rectangle rect, ImageLockMode flags,
> PixelFormat format)    at xj2.Form1.Gray2(Bitmap srcBitmap, Boolean
> reverse)    at xj2.Form1.button3_Click(Object sender, EventArgs e)   
> at System.Windows.Forms.Control.OnClick(EventArgs e)    at
> System.Windows.Forms.Button.OnClick(EventArgs e)    at
> System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)    at
> System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
> button, Int32 clicks)    at
> System.Windows.Forms.Control.WndProc(Message& m)    at
> System.Windows.Forms.ButtonBase.WndProc(Message& m)    at
> System.Windows.Forms.Button.WndProc(Message& m)    at
> System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
> at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&
> m)    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32
> msg, IntPtr wparam, IntPtr lparam)
> 
> 
> ************** Loaded Assemblies ************** mscorlib
>     Assembly Version: 2.0.0.0
>     Win32 Version: 2.0.50727.3643 (GDR.050727-3600)
>     CodeBase: file:///C:/windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
> ---------------------------------------- BoxedAppSDK_AppDomainManager
>     Assembly Version: 1.0.0.0
>     Win32 Version: 1.0.0.0
>     CodeBase: file:///C:/windows/assembly/GAC/BoxedAppSDK_AppDomainManager/1.0.0.0__ef07ce3257ee81c1/BoxedAppSDK_AppDomainManager.dll
> ---------------------------------------- xj2
>     Assembly Version: 1.0.0.0
>     Win32 Version: 1.0.0.0
>     CodeBase: file:///C:/Documents%20and%20Settings/Owner/デスクトップ/1.exe
> ---------------------------------------- System.Windows.Forms
>     Assembly Version: 2.0.0.0
>     Win32 Version: 2.0.50727.3645 (GDR.050727-3600)
>     CodeBase: file:///C:/windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
> ---------------------------------------- System
>     Assembly Version: 2.0.0.0
>     Win32 Version: 2.0.50727.3644 (GDR.050727-3600)
>     CodeBase: file:///C:/windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
> ---------------------------------------- System.Drawing
>     Assembly Version: 2.0.0.0
>     Win32 Version: 2.0.50727.3644 (GDR.050727-3600)
>     CodeBase: file:///C:/windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
> ---------------------------------------- Accessibility
>     Assembly Version: 2.0.0.0
>     Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
>     CodeBase: file:///C:/windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
> ---------------------------------------- xj2.resources
>     Assembly Version: 1.0.0.0
>     Win32 Version: 1.0.0.0
>     CodeBase: file:///C:/Documents%20and%20Settings/Owner/デスクトップ/en/xj2.resources.DLL
> ---------------------------------------- System.Configuration
>     Assembly Version: 2.0.0.0
>     Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
>     CodeBase: file:///C:/windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
> ---------------------------------------- System.Xml
>     Assembly Version: 2.0.0.0
>     Win32 Version: 2.0.50727.3082 (QFE.050727-3000)
>     CodeBase: file:///C:/windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
> ----------------------------------------
> 
> ************** JIT Debugging ************** To enable just-in-time (JIT) debugging, the .config file for this application or computer
> (machine.config) must have the jitDebugging value set in the
> system.windows.forms section. The application must also be compiled
> with debugging enabled.
> 
> For example:
> 
> <configuration>
>     <system.windows.forms jitDebugging="true" /> </configuration>
> 
> When JIT debugging is enabled, any unhandled exception will be sent to
> the JIT debugger registered on the computer rather than be handled by
> this dialog box.


评论

似乎使用.NET(代码库:file:/// C:/windows/Microsoft.NET/Framework/),因此请尝试使用.NET Reflector来反编译代码。

@ebux感谢您的建议,我会尝试的。编辑:我尝试过.NET Reflector,但是由于不是.NET模块而回来了。

#1 楼

VB Decompiler用于反编译本机程序和P代码程序。

但是正如@ebux所说,目标似乎是用.NET编写的,因此您需要使用ILSpy或.NET之类的东西。 Reflector。

但是,既然您的目标包装在BoxedApp中,则首先需要将其解压缩。快速的Google搜索显示,解压缩打包的文件非常容易-您所需要的只是一个十六进制编辑器。

从BoxedApp EXE中提取文件后,可以使用ILSpy或.NET Reflector:



评论


“我无法上传文件供人们测试,因为-如上所述,它包含恶意软件。” -您可以将文件保存在受密码保护的ZIP中,然后将ZIP上传到某个地方吗?

–詹森·格夫纳(Jason Geffner)
16年1月19日在14:01

是的,我知道这种感觉。在这种情况下,我可以做一个受密码保护的zip / rar文件,您可以建议一个无需注册即可上传的平台吗?密码将为“ reverseengineering.stackexchange.com”

–詹森
16 Jan 20'1:25



为了安全起见,我删除了以前的评论/链接(以防万一)。我已将文件上传到找到的站点。我在编辑当前的zip文件以对其进行密码保护时遇到了一些问题,因此我不得不对其进行双重存档(由于病毒扫描程序不断删除提取的文件而导致的变通方法。 filedropper.com/acan-a4这是一个7zip&RAR存档。 PW:reverseengineering.stackexchange.com

–詹森
16 Jan 20'在1:59



先生,非常感谢您,您让我和我的公司免于头疼!当然,我们将以合乎道德的方式使用源代码(仅解决问题并使用,不销售)。我希望我可以为您的答案添加更多点,但是我仅限于一个...

–詹森
16年1月20日在23:19

我对用.NET编码的激光雕刻机很感兴趣,为了将来,我也将链接该链接mediafire.com/download/kkjpauk5wiejumx/acan-a4.rar PW:reverseengineering.stackexchange.com

– SSpoke
16年1月21日在8:00

#2 楼

RedGate的NET Reflector可以反汇编整个DLL程序集并生成.cs文件甚至.vcxproj文件。

使用VSPro版本,您可以即时反汇编和调试代码。

所以,我建议您试用一下。 ,如果代码已使用(或者是部分本机/部分托管,即使用C ++ CLI),则不会完全反汇编。但是,从堆栈跟踪中看,它似乎没有被废除。

另外,一些废除器会创建一个线程,该线程在无限循环中检查System.Diagnostics.Debugger.IsAttached属性是否为true,并杀死该线程整个过程,因此可能需要付出额外的努力:)

评论


谢谢您的建议。我将研究这些程序,以供将来参考!

–詹森
16年1月21日,下午3:25