zhao1509841 发表于 2017-8-19 10:52

防破解研究一之[列举各种破解方法]





防逆向研究一之[列举各种分析方法]






本文章将从逆向的角度,来向大家展示目前主流的各种分析方法,一方面让从前写软件被逆向的作者们死得明白,另一方面给大家一些提醒,在以后的程序开发上,少犯些错误。知己知彼,方能百战百胜。目前,对网络验证的分析方法主要有以下几种:一 本地验证本地验证是指通过转连接的方法,把本来必须远程验证的程序,转到本机的服务器上进行验证。可用于本地验证的程序,其接收到的封包,基本上都是固定的。如一些程序通过博客来进行验证,这类的软件基本上是可以被本地验证的方法逆向的。实现本地验证的手法,有以下几种:1 修改HOST文件内容,将远程网址转到本机。 2 网截 网截是易语言里的一个专门的支持库,调用者可以通过它实现将远程地址转到本机127.0.0.1从而实现转连接 3 HOOKAPI法 逆向者通过HOOK住WINDOWS自带的ws2_32.dll里的connect函数,将远程IP修改成本地IP,实现转连接。综上所述,若你的程序是固定内容封包,是无论如何都会逆向的。唯一的解决办法是,对数据进行动态加密,让每个封包都不一样。丁丁神盾网络验证因为是采用动态加密的,所以对通过本地验证的方法免疫。二 山寨在字面上来说,山寨是模仿,抄袭,造假的意思。在网络验证的逆向上,同样存在着这么一种手法。其实现的方式,就是模拟一个完全和正版一样的服务器端,然后通过转连接的方式,将软件客户端转到被模仿的服务器端进行验证,其传回去的数据,同样的是和正版的服务器端发送的数据一模一样。被山寨后的产品,从外观上来说,是和正版完全一样的,用户无法发觉,甚至连软件开发者也发现不了。目前被山寨得多的网络验证有:飘零网络验证,万捷网络验证。山寨的手法则是,同样都是那个网络验证的用户,只要把自己服务器后台的密钥,改成和被山寨的软件的后台密钥一样,或者是通过改变内存的方式,修改软件客户端里的密钥内容变成和自己服务器后台的相对应。在所有的方法中,山寨是最为隐蔽同时也是最为有效的分析方法。所以请大家一定要留意自己的软件是否有被山寨的可能。丁丁神盾网络验证,由于采用的是定制的方式,不但每个客户收到的模块文件不一样,而且每个客户拿到的后台文件也不同,对会员间互相山寨的情况,做到了最大的防范。三 内存补丁程序的流程,总是离不开一些判断语句的。在网络验证的逆向中,逆向者会抓住其中的一些关键判断,对内存进行修改。程序如果存在漏洞,往往能在调试器里给找出来。很多网络验证的判断比较单一,逆向者则在程序的关键比较语句上,对内存进行修改,即可达到目的。如将JE,JZ,JNE等进行修改,改变其跳转方向。将一些无返回值的校验子程序RETN掉,将一些有返回值的校验子程序NOP掉或者使其返回正确的值,诸如此类。有些网络验证,在验证过程中,只需要将原本错误的数据,在内存里改成正确的数据,便可达到欺骗程序通过验证的目的。通过此方法实现逆向,最典型的是飘零云网络验证以及可可网络验证。事实上,内存补丁基本上是无法被抵制的。最好的对抗方法是,程序写严谨一点,验证弄复杂一点,再添加一些暗桩,一方面让逆向者看不懂验证的流程,再就是通过暗桩让其摸不着头脑从而失去耐心。大部分软件开发者都会给自己的软件加上保护壳,如SE壳,VMP壳等,加壳后的程序在调试器中看起来,代码会变得比较混乱而让人看不懂,再加之有些壳里还带有反调试器功能,逆向者在对程序下断点时,被保护壳检测出来,然后程序退出。从效果上来说,给程序加壳,可以对大部分中小水平的逆向者造成干扰,但防不了一些大牛。大牛们往往会先对程序进行脱壳处理,然后逆向。另一种是所谓的反调试器程序,不过这依然是可防小人,防不了大牛。很多大牛往往手里头有一些比较私密的调试器,能绕过这些检测。再者调试器的种类繁多,防得了A,防不了B,对于一些弱点比较明显的程序,逆向者甚至不需要下断点进行调试,只需要找到一些特征码的位置,直接进行修改,即可实现逆向。总而言之,应对各种爆破,玩这些保护壳,或者是反调试器等小花样,是没有根本性用处的,而且一朝失手,世世受制,最重要的还是程序上要写得严谨,验证中不嫌繁杂。后续的一些文章里,丁丁将会以视频的方式,来向大家讲解一些软件逆向上的攻与防。四 未知方法由于微软公司在九十年代被别的公司控告其不开源时,咬紧牙关,宁可冒着公司被一拆为三的风险,也不将WINDOWS系统的源代码放出。其后虽然给出了一些系统内核函数的参数及调用方法等,但仍有一些更为关键的内核函数未被公布出来。这或许是斯诺登之流能在互联网上畅行无阻的原因。关于这部分的应对办法,基本上无解。


fdw1991 发表于 2017-8-21 10:40

受教了 谢谢大佬分享经验

叩瞳白蓝 发表于 2017-8-21 11:49

为什么看起来像某验证的广告呢

piaoxue 发表于 2017-8-25 09:38

感谢大佬

jiqigouer 发表于 2017-8-26 00:11

学习了,感谢高手分享

gxcz123 发表于 2017-8-27 15:06

DENUVO都被破了,只能说防破是加大难度,不过永恒之蓝确实难破

商都赵永强 发表于 2017-9-8 10:42

感谢分享,一路有你

loveY 发表于 2017-9-21 09:52

学习了                                    

loveY 发表于 2017-9-21 10:24

谢谢大佬分享经验   

拿着雪糕 发表于 2022-2-24 01:56

学习大佬经验
页: [1] 2
查看完整版本: 防逆向研究一之[列举各种分析方法]