证明自己吧

题目链接:http://ctf5.shiyanbar.com/crackme/

打开ida,反编译,找到关键代码:

a1是输入的东西,v5是程序有的字符,可以看到,算法先让a1和0x20异或,然后v5自减5,最后判断条件先当于a1==v5,相同的可以删去,双击进入数据段,看看v5的值:

shift+e,提取出来,得到:

可以写脚本了:

a=[0x68, 0x57, 0x19, 0x48, 0x50, 0x6E, 0x58, 0x78, 0x54, 0x6A,
  0x19, 0x58, 0x5E, 0x06]
for i in a:
          i-=5
          i^=0x20
          print(chr(i),end='')

运行结果:Cr4ckIsSoE4sy!

### 回答1: 程序员提升自己可以考取以下证书: 1. 计算机领域的专业认证证书,比如Microsoft Certified Solutions Developer (MCSD)和Oracle Certified Java Programmer (OCP),可以证明程序员在某个特定领域有深入的专业知识和技能。 2. 计算机科学和软件工程相关的学术证书,例如计算机科学学士学位、硕士学位或博士学位。这些证书可以证明程序员在计算机科学和软件工程领域拥有深入的学术知识和研究能力。 3. 具有行业公认度的专业认证证书,例如Project Management Professional (PMP)和Certified Information Systems Security Professional (CISSP),可以证明程序员在管理、项目管理或信息安全方面有深入的知识和技能。 4. 开源技术相关的认证证书,例如Red Hat Certified System Administrator (RHCSA)和Linux Professional Institute Certification (LPIC),可以证明程序员在开源技术方面有专业的知识和技能。 总之,选择适合自己的证书,不仅可以提升自己的技能和竞争力,还可以证明自己在特定领域拥有专业知识和能力。 ### 回答2: 程序员提升自己可以考取以下一些证书: 1. 基础知识类证书:例如计算机等级考试(二级、三级)、软件工程师考试、全国计算机等级考试等。这些证书主要测试基本的计算机知识、算法和编程基础,对于入门级程序员而言非常重要。 2. 编程语言类证书:例如微软的MCSA、Oracle的OCA、Java的OCJP等。这些证书针对具体的编程语言或平台,测试程序员对该语言或平台的熟练程度和应用能力。拥有相关证书可以增加在该领域的竞争力。 3. 软件开发方法论类证书:例如敏捷开发(Agile)、Scrum和极限编程(XP)等。这些证书主要考察程序员对软件开发过程中不同开发方法的理解和应用能力,能够提高团队的协作效率和工作质量。 4. 数据库类证书:例如MySQL的OCP、Oracle的OCP等。这些证书主要测试程序员在数据库设计、管理和性能优化方面的能力,对于从事数据库开发和管理的程序员而言非常有帮助。 5. 安全类证书:例如Certified Ethical Hacker (CEH)、Certified Information Systems Security Professional (CISSP)等。这些证书涵盖计算机安全领域的知识和技能,帮助程序员提升对网络和数据安全的认识和能力。 总的来说,程序员可以通过考取上述不同领域的证书来提升自己的技能和知识水平。不仅能够增加自身的竞争力,还可以展示自己对特定领域的专业能力,提高在职场上的发展机会。然而,在考取证书之前,程序员需要对自己的职业规划进行认真的思考,并选择与自己专业发展方向相符合的证书进行考取。另外,证书只是提升自己的一个手段,真正重要的是学习过程中积累的知识和实际能力,以及不断自我学习和提升的态度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值