【转载】零基础自学易语言,咬牙三个月小有所成的学习步骤(三)

科技   2022-03-20 10:00  

编者按:这是故事的第三部分,作者继续介绍易语言学习的相关知识,内容不再聚焦于学什么,谈起了与易语言相关的一些领域内容……都是作者的切身经历,且听作者一一道来!


爬虫和大数据

再说采集和数据处理这一块,现在有洋气的名字,爬虫和大数据……可能未来比较有前景吧~~说到采集,应用真的很广泛。不用说大数据这种高大上的东西。只要你在混互联网,难免遇到需要采集的东西。像seo网站更新之类的需要采集文章。有的需要采集图片,有的需要直接扒站。有的则是实时采集数据,然后分析。关于采集需要掌握的主要知识,应该是正则表达式。这个东西还是很好用的,说难不难说简单也不简单。当年我拿出时间专门学过。可后来长时间用取中间文本,就把正则彻底忘干净了。说到采集,市面上有不少专业采集的软件和服务,大多都是收费的。这也证明一点,学好爬虫是可以直接赚钱的。易语言做采集也是会用到多线程的,我这里就不啰嗦了,就是想说多线程的重要。大数据处理,真的不是易语言的强项,易语言做个中小任务还可以,大任务有点为难它了。易语言不能超过2g内存,貌似用插件可以到4g,唉~反正就别太为难它了。大数据读写用映射,就我理解,就是把数据读到内存里操作。不过单线处理,还是达不到预期的效率。最终,大数据处理还是落到多线程头上。如果你对映射实在不灵,就用易语言自带的快速文本对象或者快速字节集对象。数据稍多,就能试出来确实能快不少的。多线程采集加多线程数据处理,你就拥有了爬虫和中小数据处理的能力(不敢说大)。具体应用就不聊了,价值还是非常高的,懂得自然懂,不懂得就只会讨论哪种语言好,不如用啥啥啥之类的……


数据库

说到了数据,就不得不说说装数据的东西———数据库。易语言有自己的数据库edb。只有一个表。可以理解为只有一个表的excel。无论哪种数据库,要学习的命令无非就那几个。添,改,查,删,打开库,关闭库,置库,置表,就这些。其他的几乎用不上。易语言的数据库是一个很简易的东西,只有一个表,所以只有置库没有置表。都说易语言的edb数据库不行,其实我觉得是够用的。一般的小数据没问题的,一般推荐10000以下的数据可以用用edb,我自己写过多线程edb数据库100万数据的应用,因为不是很在意效率,所以可以玩玩。如果真需要数据库的正式应用,还是建议学习使用Mysql、sqlite和Access这些主流数据库。如果想连接外部数据库,我这里就不聊了,我对数据库这一块一直没需求就没有深入研究。


防破解

易语言防破解最先要解决的问题就是窗口push。因为易语言的窗口特征都一样很容易被找到窗口。最简单的方法就是在验证窗口传递一个全局变量,主窗口再次验证。破解和防破解是永远说不完的话题,我水平有限,只能聊点简单的,班门弄斧都算不上,只是尽自己努力分享点所知而已。作为新手,我建议做好简单的窗口防push后,就直接加个强壳就行了。百度一下四大强壳,加哪个都行。每个壳也都有自己的sdk,合理运用,防破解强度就会上去。不懂sdk的自行百度一下,很简单的。防破解方法还有,反调试,效验软件体积,效验软件md5,进程隐藏等……说实话,这些其实都没啥用。强壳是最强的保护,如果人家壳都给你脱了,剩下的基本都是小儿科了……

那怎么办?办法只有一个……有人说加双壳,其实加双壳没有加单壳强度高。加双壳原理可以理解为把资源释放后用另一款加壳再把资源重新加一遍。对于防破解,其实也没什么好纠结的,想想微软苹果,还有市面上那些大型的软件都被破解了,可想而知,我们写的这些所谓的商业软件,对于大神来讲,也都是小儿科罢了。我看到经常有人,解封破解的时候经常会加上恶意代码,比如蓝屏甚至格盘。其实我觉得没有必要,谁说别人破解你的软件就不是一件好事呢?

上面我提到只有一种方法,可以防破解,其实这个方法就是暗桩。暗桩的防破解能力不在于它有多么强,而在于它的变化多端和数量之多。最具代表性的软件就是屏幕录像专家,到目前为止,几乎没有看到完美破解的屏幕录像专家软件。无论市面上怎么,声称是完美破解版,到了一定时间以后还是会出现软件的水印。据说软件集成了100多个暗桩,而且暗桩的种类在20种以上……我也是道听途说无从考证。就是因为破解版横行,也让这款软件火了起来,然后为破解版的暗桩打出广告,让软件的销售量增长,让作者赚得盆满钵满。当然了,软件本身还是非常不错的,否则也不会销量那么好。

所以说作为一个软件开发者,重点还是放在软件本身的制作上,能够写出真正解决问题的精良软件,才是作为一个程序员该做的。


免杀

再聊几句免杀吧!我也是当年从灰鸽子玩过来的人,比较高级的病毒,需要一定的计算机底层知识。但是一般的远控其实原理很简单,用易语言写远控,市面上也有很多现成的源码。所以这一方面没什么好说的。重点就在于免杀。易语言就是因为简单方便好学,很多小朋友拿来写外挂,写病毒,写远控整这些乱七八糟的东西,所以易语言生成的程序被杀毒软件直接放入黑名单。哪怕生成一个空的窗口程序也会报毒!

其实很多杀软都是比较开明的,我讲的主要针对那个最棘手的360。首先解决易语言空程序就报毒的方法:一是不要勾选软件信息,因为那带有特征字;二是换编译器,最好能用黑月编译;三是不要使用易语言自带的加花;四是加压缩壳,推荐upx。

再说说高级一点的免杀。源码命令替代免杀法,和dll命令调用免杀法。什么意思呢?我解释一下,这个方法适合命令比较少的软件。首先你要保证空壳程序不报毒了,然后通过注释一部分源码留下一部分源码,编译成软件后用杀软查杀的方法,一点一点定位杀软报毒的那部分源码,甚至可以精确定位到一条命令。然后用能够替代的命令或者写法重新写一遍,尝试躲避杀软的查杀。原理和免杀定位特征码类似。不过这次是定位源码。如果碰到一条命令既报毒又实在搞不出替代方法。那么,就要用到dll命令调用法。把报毒的命令先封装到dll里,然后给这个dll加壳,然后调用dll里面的命令。这样一来一回就能起到免杀的目的。当然了,什么都不是万能的,我只是提供我的一点经验。360还是对内存操作非常敏感的,所以多注意涉及到内存的命令。比如,运行()。其他的方法我就不说了,多说无益,我也只是一个爱好者而已。实在不行就还是加强壳就是了。


(未完待续)


 往期系列1:零基础自学易语言,咬牙三个月小有所成的学习步骤


 往期系列2:零基础自学易语言,咬牙三个月小有所成的学习步骤



阅读

500+

立刻更新~

易语言自习室
致力于易语言的推广,打造自学者的编程学习乐园,扎根易语言,面向全编程!
 最新文章