漫淡编程语言的学习方法---欢迎讨论

本文探讨编程语言学习的有效方法,分为三个阶段:首先掌握语言的基础要素,包括环境、规则和元素;其次编写清晰简洁的代码,易于他人理解;最后通过阅读优秀代码提升自我。
编程语言学习方法探讨:语言学习三步曲

[b]第一:掌握语言的"环境,规则,元素"三要素:[/b]

  与我们人类语言的的组成本质相同,软件编程语言也是由"环境,规则,元素"组成。

  但与之相比,掌握运用软件编程语言就简单得多了!我们以Java为例,其环境极端的单纯――只要有JVM,规则也就是几个流程控制(如whil,if)、访问控制(public,private)、元素就更简单,常用的关键字和API加起来也就几百来个!相比我们中文来说,虽说常用的就二千多个汉字,但呈几何级组合的词汇原素量、“十里乡俗九不同”的环境多样化,与编程语言相比,那是不可同日而语了!

  所以说,学习“软件编程语言”应是一件很简单的事:拿Java来说,你只搭建Java编译、运行的必要环境,也就是安装JDK,配置classpath变量;使用它的关键字按照语法规则来控制流程即可――而这些规则、元素的定义,都是无歧义的,是铁板钉钉子的;根本就不像人类的语言那样,一个字,一个词,都是因人,因地,因时而具有不同的意义!

对于Java初学者来说,用二三个周的时间,放在学习这三要素中就足够了;对于Java中的API,没必要像个书呆子全记住,需要用时查文档就是----这时候,可以说你会用Java了,万里长征,你走动了第一步!

[b]第二:编写清晰简洁,能让其它程序员理解其意图的代码:[/b]

简单的道理就是:只认识两千个汉字,会说汉语,并不意味着你就是作家,诗人;但目前对程序员的一般要求却是这么简单:会用程序语言描述问题即可―――但这不是好程序员的目标!初级程序员的目标是:写出代码来,程序能跑起来实现功能,就像小孩学语一样,能讲出话,能让别的人听懂你的意思;如果你是程序员,你的代码需要机器来理解吗?不需要吗?机器会理解吗?

好的诗句应是“言情必沁人心脾,写景也豁人耳目”――这是好的自然语句的功能:易理解,简洁,但表达能力巨大!好的代码的第一就要求就是:保持KISS原则---编写你自己理解来由的代码、编写让其它程序员一眼能看得懂的代码!只有KISS了,方可让其它程序员理解---机器有什么理解可淡呢?---其它程序员能快速理解,这段代码才可能重用,扩展,人有永垂不朽,代码的价值在于可复用从而长久流传。

其它程序员可理解的理码才有可能被复用---如果代码设计精良的话,人性本懒!由此才发展出了API,接口,模块化,低藕和的软件技术,才有现在各种功能强大的软件产品;否则,一代一代的程序员都得刀耕火种般的从敲机器码开始来编程序!

[b]第三:从优秀的代码中学习领悟,使用优秀的代码:[/b]

“以人为镜“是指学做人做事的方法;要做好程序员,当然要从优秀的代码中学习,比如研读liunx源码、研读JDK源码、Java世界中那么多的开源项目、、、这些都是程序员智慧的宝库:“久入麝兰之室,不闻其香”,更重要的是潜移默化掉自身的粗卑之气,让自己的代码清晰流畅,功能的实现朴实无华但直达要害。

理解了优秀,知道了优秀之所以,便心存敬畏而不轻易自己编写代码了:当前Java开源框架的流行,应是基于此点;一个优秀的程序员,知道适时的使用优秀的作品,才可能构建出一个更优秀的系统!”不发明新的轮子“是因为有自知之明而己!

希与大家一起探讨。
内容概要:本文详细记录了对一个Android ARM64静态ELF文件中字符串加密机制的逆向分析过程。该ELF文件的所有字符串均被加密,无法通过常规strings命令或IDA直接识别。作者通过分析发现,加密字符串存储在.rodata段,其解密所需信息(包括密文地址、长度和16位密钥)保存在.data.rel.ro段的40字节描述符中。核心解密函数sub_10F408采用自反的双pass流密码算法,结合固定密钥KEY_TERM(由.data段24字节数据计算得出),实现字节级非线性、位置与长度相关的加密。文章还复现了完整的Python解密脚本,并揭示了该保护机制的本质为代码混淆而非强加密,最终成功批量解密全部956条字符串,暴露程序真实行为,如shell命令模板、设备标识篡改、网络重置等操作。此外,文中还提及未启用的自定义壳框架及其反dump设计。; 适合人群:具备逆向工程基础的安全研究人员、二进制分析人员及对ELF保护技术感兴趣的开发者。; 使用场景及目标:①学习ELF二进制中字符串加密的典型实现方式与逆向突破口;②掌握从结构识别、函数追踪到算法还原的完整逆向流程;③理解“绑定二进制”的完整性校验设计及其局限性;④实践编写IDAPython脚本自动化提取与解密敏感数据。; 阅读建议:此资源以实战案例驱动,不仅展示技术细节,更强调逆向思维与验证方法,建议读者结合IDA调试环境,逐步跟随文中步骤进行动态分析与算法验证,深入理解每一步的推理依据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值