java去壳代码 java加壳
如何将.exe反编译成代码??
反编译exe文件基本上是不可能的,因为反编译过程由很多因素会干扰,反编译过程:
我们提供的服务有:做网站、网站建设、微信公众号开发、网站优化、网站认证、全州ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的全州网站制作公司
1、检测程序时候加壳了,如果加壳就必须先去壳。
2、去壳后需要猜测程序员采用的是什么编程语言,编程语言有:java/c/c++/c#/vb/VC++等等。
3、猜测到程序员使用的语言后根据编程语言进行汇编,汇编需要考虑到语言中的语法问题,即使是同种语言,一种命令有多种说法,汇编成功率在20%左右。
4、汇编成功后基本就已经到反编译的顶端了,要从汇编程序翻译成源码可能性为1%。
求教如何使用java编写加壳程序
这个问题就需要来谈谈壳的架构问题了。
壳的三大架构
1.最早的壳几乎都是virus演化来的,大部分都是汇编直接写的。
好处就是直接可以把汇编代码复制出来当作壳的loader代码添加(感染)到程序上
知名的比如aspack,upx,telock,PESpin
2.随着对于反调试要求越来越高,功能越来越多,代码一多就难以维护。
于是诞生了新的壳架构,功能采用DLL开发,使用loader来加载
这里有两个变种:
ShellCode Loader + DLL ASProtect。Themida,ACProtect等等你所熟悉的加密壳绝大部分都是这样的架构
memory loader + DLL bigfoot为代表的bambam,ZProtect,eXPressor,npack,ChinaProtect等等
这种架构简单,好维护,更好调试。其实许多其他壳或多或少的都使用这两种架构
3.对于一些纯VM的保护壳,由于没有固定代码(VMProtect等)
所以对于这样的需求首先你需要一个codegen(这个东东将陪伴你写壳的一生)
而且对于codegen其实完全可以构造一个完整的壳代码(调试比较麻烦)
不管什么语言开发的加壳软件最终都要回到opcode操作上,而对于opcode其实用神马语言都差不多
这三种架构介绍完了。那么谈谈java写壳的问题吧
其实可以简单的从语言优势上来解答:
如果说开发第三种壳用啥其实都差不多,Java和C#说不定更有优势。
上面我们说到codegen的问题,真正不适合开发的地方其实主要是在各种地址转换上面,
反汇编引擎反汇编的都是opcode结构,然后再将这些opcode串联起来构造出AST,省下的就是mutation,vm,还是其他等等操作了,
如果单纯为了解决opcode---AST(Abstract Syntax Tree抽象语法树)解决了地址转换这个问题的话其实汇编,C\C++还是Java都差不多。
反而由于Java和C#这些语言有很好的容器可以更好的来控制对象
opcode生成其实也不是难事,这些用Java还是C++其实都差不多。
真正的难点就在于上面所说的壳Loader的开发上,不管是汇编,C\C++,Delphi(不管在国内外特别是国外其实许多壳都是Delphi开发的)
都可以直接开发DLL,直接拿来变形后塞进原始程序当作壳的Loader Main部分。
而Java就只能从codegen来构造壳代码了。。。
这是一件很痛苦的事情(相信我~如果你用过Java写过c语言编译器-带连接器的那种你就会明白痛苦了)
综上所述~介于楼主的语言选择问题,估计多数是只会Java,或者需要在web层调用。
那么最好的办法还是壳主体ASM,C\C++来开发,然后开发成命令行版本,然后Java调用这个模块。
架构就这样了,剩下的就是动手操作了
脱壳能获得源代码吗?
加壳的全称应该是可执行程序资源压缩,是保护文件的常用手段.
加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码.
加“壳”其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。加“壳”虽然增加了CPU附带但是减少了硬盘读写时间,实际应用时加“壳”以后程序运行速度更快(当然有的加“壳”以后会变慢,那是选择的加“壳”工具问题)。
一般软件都加“壳”这样不但可以保护自己的软件不被破解、修改还可以增加运行时启动速度。
加“壳”不等于木马,我们平时的巨大多数软件都加了自己的专用“壳”。
RAR和ZIP都是压缩软件不是加“壳”工具,他们解压时是需要进行磁盘读写,“壳”的解压缩是直接在内存中进行的,用RAR或者ZIP压缩一个病毒你试试解压缩时杀毒软件肯定会发现,而用加“壳”手段封装老木马,能发现的杀毒软件就剩不下几个。
因为加壳了之后等于把这个文件进行了保护(就是有些杀毒软件杀不了的原因)
因为文件不能重复加壳.判断依据是文件是否已经加了保护
加壳其实主要就有两个作用:
防止反编译(破解软件)和免杀
修改文件不一定要脱壳,看你的水平
些软件加壳工具
1、软件防盗版战士
《软件防盗版战士》是一个以数字许可的形式为MicrosoftWindows下(PE格式)应用程序提供版权保护以及数字化销售支持的纯软件产品。它含有认证版、序列号版这两个可选版本。认证版以128位二进制证书文件作为被保护软件的最终用户使用许可,并且主要以最终用户的硬盘、CPU、网卡及操作系统等特征信息为版权保护的安全源(保守地说,理论上认证版的版权保护强度达到3-5年内不可破解)。
安全指标:1、对象安全强度——《软件防盗版战士》的各种对象安全都尽可能地加入了加密算法中,其强度相当于对称算法的128位加密,比普通硬件狗的8位、16位、32位和64位(很少有64位的)安全强度强许多。2、入口安全强度——《软件防盗版战士》采用功能相关法解决入口安全问题。入口安全的最小复杂度大于40位的安全强度。《软件防盗版战士》的入口安全强度最大限定为128位(含128位)。
2、比泰软件防盗版战士2005J
比泰软件防盗版战士2005J(BS-APC),是比泰科技出品的一个软件加密保护产品系列(含L版、A版、J版等产品线),它们为商业软件提供可靠的防盗版保护并支持数字化发行。|它采用比泰公司世界领先的“执行代码抽取加密”技术,软硬件结合,以“认证技术”保证软件“对象安全”、以“功能相关法”保证软件“入口安全”、以具有唯一性的计算机(物理)特征数据作为身份认证指纹,并以软件用户计算机本身的运算能力进行防盗版保护。具有64位以上,到128位的加密安全强度。安全强度远胜传统的外壳加密式加密狗、API内嵌式加密狗,软件保护的功能范围及运行效率超过智能狗,且无须学习加密狗编程,不引入附加硬件维护问题。|适合对C/MFC/VisualC++(VC++)/BorlandC++Builder(BCB)、Delphi/ObjectPascal、PowerBuilder(PB)、Authorware、Director等开发工具所编译程序的保护。|因为它是对真实指令进行代码抽取加密,因此暂不保护伪编译程序,如VB、VFP、C#、JAVA。
3、AntiCrackProtector
ACProtect是由国人研究开发并拥有自主知识产权的加密软件精品,它有许多技术已经达到并超过了国外同类产品,是一个为Windows下的EXE/DLL/OCX/SCR等32位可运行文件加密系统。它通过为程序加上一层坚硬的保护壳,可以非常有效的防止盗版。还可以为程序设置限制注册功能。
即使你没有程序的原代码,你也可以用ACProtect在程序上加上运行次数限制,运行天数限制,运行有效日期限制。通过公匙加密算法(RSA)创建并校验注册KEY,只有在RSAKEY正确的情况下,才对那些受保护的代码进行正常解码。同时使用了内嵌式加密,可以有效的防止加密软件从内存中被抓取,也就是无法被脱壳。
内置反调试引擎,有效的增加了破解的难度。
专用的API系统,可以使ACProtect和你的软件紧密的接合在一起,这样,你就可以通过使用ACProtect来创建你的全功能评估版。
4、XQBOX软件保护安装系统
XQBoxSoftwareProtecting是一个以数字许可的形式为应用程序提供版权保护以及数字化销售支持的纯软件产品。它采用机器具有唯一性的数据做指纹,利用宿主计算机的运算能力进行防盗版保护。
XQBox保护系统是集软件保护和安装工具于一身的集成工具。XQBox核心代码是遵守标准c的规则来编写,它可以在,windows3.x/9x/2000/nt,unix,linux等各种操作系统下编译运行。作为中间件,它可在c、c++、java、delphi、vc、vb、vf、Masm32、pb、php、Authorware等。各种工具开发的软件中嵌入使用,它的兼容性非常好。核心代码经全域均匀抽值测试,各种特值测试和可行的全域测试均通过。
5、秦赢甲胄反盗版加密软件
这款反盗版软件的用户注册方便,终端用户不需要手动输入序列号认证码等等,一切由注册端软件自动完成;用户机器的硬件信息作为注册码/加密密钥;一个拷贝只能在同一台机器上注册;只要是同一台机器,可以在这台机器上注册多次;只能在注册的那台机器上运行
使用理论上安全的密码学协议和算法,保证不可脱机破解。不能通过注册机破解;不能通过散发序列号破解。
更改检测(可以检测病毒和破解者更改);反跟踪功能(Anti-Debug)。
运行时代码完整性校验,可防止Cracker跟踪时设置断点;可防止通过补丁程序破解。
反Dump功能(Anti-Dump);反反汇编功能(Anit-Disassembler);可以有效的管理经销商和序列号的发放;可以统计软件的销售数量;可以有效的管理用户注册。
6、PE加密保护软件EncryptPE
EncryptPE能加密保护常规PE文件(EXE、DLL、OCX等一般程序或NT服务程序),防静态分析修改,反动态跟踪调试,有效地保护软件,防止盗版。除常规的对抗调试器(SoftIce、TRW、OllyDbg等)、监视器、DUMP工具方法外,EncryptPE采用的加密保护的手段还有:随机加密算法、CRC校验、变形、代码替换、进程注入、APIHOOK、多线程、调试运行、全程监控等。
能将普通软件变成共享软件,增加定时注册提醒、限制试用日期、限制试用次数、限制试用天数、限制每次试用多长时间等功能。
能根据最终用户的机器信息、注册用户及加密时的保护密码计算注册码,从诸多加密算法中随机选择一种用于注册码的计算。
支持多语言,并为待加密软件提供多语言接口。
向待加密软件提供丰富的方便的编程接口,便于设计个性注册方式,同时使被加密程序与加密壳之间融为一个整体,增加破解难度。
可以运行于多种Windows平台,包括9X/ME/NT/2000/XP/2003。
7、注册码生成器
本软件可以自动随机生成2至32位注册序列号及对应的注册码,并将这些注册信息包含到一个动态联接库DLL文件中,这样软件开发者可以将这个DLL文件同应用程序一并发行,并在应用程序的相关模块中调用这个DLL文件中提供的函数获得注册号及相对应的注册码,注册号及相对应的注册码对软件使用者来说是不透明的,它可以用效的避免软件的盗版及其重复注册,切实保护软件开发者的版权。随软件一同提供免费的DLL源程序生成器工具,DLL注册码查询工具,启动应用程序时的注册对话框示例程序及全部C++源代码等。
8、计算机软件防盗版
计算机软件防盗版系统具有国际领先水平的保护知识产权的新技术。现该技术已顺利完成了全部研制。利用嵌入式加密,动态激活解密,工具化设计特征,检测体系,产品形态技术。于1999年7月通过公安部计算机信息安全检测中心的检测。计算机软件防盗版磁盘、光盘获公安部颁发的计算机信息安全产品销售许可证。
分享标题:java去壳代码 java加壳
分享路径:http://ybzwz.com/article/dodosii.html