逆向经历回顾总结

逆向经历回顾总结

一、前言

将自己的逆向经验做个总结,希望新手对逆向大方向能快速了解。高手有啥不一样的经验也可以讨论讨论。

二、个人经历

本人入行逆向全因一部韩剧“幽灵”,里面涉及渗透、病毒分析、取证的攻防对抗,我觉得对新手来说,还是有点意思的。那时看完觉得攻防对抗很有意思。

我做过病毒分析、app检测,对社交软件、银行app都有不少的逆向实战经验,当我回过头看,逆向给了我很多其他娱乐活动带不来的快乐,但是搞久了也累,攻防一直升级,就比如十年前的腾讯某个游戏都能直接重打包,现在太难了。虽然现在看到一些技术也会觉得很有意思,但再研究,就像在重复三五年前的经历。

三、我对逆向的理解

网上专业描述太专业,我记得我第一次理解逆向工程这个东西时有点懵逼又觉得高大上。当我现在看,我觉得它就是利用各种工具、技巧让你能分析出程序的逻辑,或者某个点的逻辑,然后再利用它去实现新功能。

四、安卓逆向

安卓逆向,算是经历了它一整个的发展,以下的都是不断在学的

1. 正向开发的学习必不可少,我个人偏向基础有了之后,逆向实战中再根据问题加深学。

2. 壳从一代壳到四代壳,也有一些吹六代七代的,里面涉及的攻防对抗:脱壳加壳,优化各种工具更好的分析,防工具分析,调试,反调试,反反调试,然后又是各种工具的定制,再针对可执行文件的保护,又细到整体文件、部分文件、函数、指令的保护,针对这些保护又有了从系统下手的对抗...。学壳是一个很好的提升技逆向术的方法。这儿我看到的问题是实际业务大多数不需要那么深的技术,不少技术人员沉迷其中无法自拔。

3. 文件结构的了解,逆向过程常要分析不同格式的文件。逆向让我加深了对“linux中一切皆文件”的理解,业务涉及的文件,只要有阻碍就看两下文件分析分析。

4. 加密算法学习,攻防对抗实战中,太多加密算法,所以我单独列出来

5. 代码混淆,从java层的代码膨胀,VMP到so层的OLLVM、VMP等,又涉及不少工具的保护和反保护要学,这个也是不断升级。

6. 数据抓包,一个小点,但是还不少事

7. 技巧,一些高手提醒你几句的技巧、工具、脚本,会让你逆向速度提升不少。

8. 定制系统,还是攻防升级,应用层打到了系统层。

9. 实际业务中的逆向,单独列出来是因为,即使会上面的所有点,它和实际业务最终的产出还是有差距的,实际业务需要快速出东西,我们必须结合业务,更快的定位关键点,更快的组出软件。

五、iOS逆向

和安卓平台类似。会一个平台后,技能迁移到另一个平台会比较快。

六、其他平台逆向

和安卓平台类似,本人样本量比较少,就不瞎吹了。接触其他平台也是因为业务的需求。当你有其他平台逆向经验时,来一个其他平台的活时你感觉有难度又好像可以试试,然后慢慢就上手了。

七、CTF

做过一些题,不精通,我觉得这个方向有点神奇又有点不理解,逆向本就是需要耐心需要时间有逻辑的去分析的一个活,而逆向CTF题涉及渗透、pwn的一些技巧,又有时间限制,有时靠暴力破解。这个方向我觉得是一个新的提高逆向技术的方向。

八、总结

回顾逆向这几年,就是个攻防不断升级,更明显的体现了那句“逆水行舟,不进则退”。好久没研究技术了,不知道高手们又在深挖哪块的难点,让我用小说里的话感叹一句“啊~,仙路尽头谁为峰...”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/224269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图片转HTML-screenshot-to-code

Github地址 https://github.com/abi/screenshot-to-code 在线站 Screenshot to Code 简介 这是一个基于GPT4开发的一个工具站,它可以基于截图生成站点代码,生成速度快且准确。

C语言——const函数

一、定义常量:const关键字用于定义常量,这意味着该变量的值在程序运行期间不能被改变。 const int a 10; 二、修饰指针:const关键字可以修饰指针,表示指针指向的内容是常量,不能通过该指针修改所指向的内容。 i…

SpringBoot 究竟是如何跑起来的

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《SpringBoot》。🎯🎯 &…

【MySQL 索引】InooDB 索引实现

1 索引定义 维基百科对数据库索引的定义: 数据库索引是数据库管理系统(DBMS)中的一个排序数据结构, 以协助快速查询和更新数据库表中的数据。 MongoDB对索引的定义: 索引是一种特殊的数据结构, 以有序和便于遍历的形式存储数据集合中特定字段或一组字段…

jmu-PTA Java答案汇总(上)

目录 Java练习第二章 7-21 统计符合条件元素的个数 7-210 sdut-array2-1-矩阵转置(I) 7-211 JAVA-输入输出入门 7-212 sdut-入门-三个整数和、积与平均值 7-213 jmu-java-m01-System.out.printf入门 7-214 jmu-java-m02-循环求和 7-215 编程题&am…

第22节: Vue3 可写计算

在UniApp中使用Vue3框架时&#xff0c;你可以使用可写计算属性来封装复杂的计算逻辑&#xff0c;并将结果保存到一个响应式引用对象中&#xff0c;以便在其他地方使用。 下面是一个示例&#xff0c;演示了如何在UniApp中使用Vue3框架使用可写计算&#xff1a; <template&g…

开源项目-

无人机跟踪移动平台并降落 基于YOLOARUCO的无人机目标检测及位置计算 ego_v2 移动物体的跟踪

Vue2面试题:说一下对vuex的理解?

五种状态&#xff1a; state: 存储公共数据 this.$store.state mutations&#xff1a;同步操作&#xff0c;改变store的数据 this.$store.commit() actions: 异步操作&#xff0c;让mutations中的方法能在异步操作中起作用 this.$store.dispatch() getters: 计算属性 th…

基于ssm服装定制系统源码和论文

idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 环境&#xff1a; jdk8 tomcat8.5 开发技术 ssm 基于ssm服装定制系统源码和论文751 1.1项目研究的背景 困扰管理层的许多问题当中,服装定制将是广大用户们不可忽视的一块。但是管理好服装定制又面临很多麻…

EasyV易知微助力智慧城市未来趋势发展——数字孪生城市

“智慧城市的未来趋势就是数字孪生”——《基于数字孪生的智慧城市》 城市数字化管理、智慧城市和数字孪生城市的发展是相互促进、逐步深化的过程。 城市数字化管理作为起点&#xff0c;奠定了信息化、数据化的基础&#xff1b;而智慧城市则将数字城市管理进一步升级&#xff…

RabbitMQ死信队列详解

什么是死信队列 由于特定的**原因导致 Queue 中的某些消息无法被消费&#xff0c;**这类消费异常的数据将会保存在死信队列中防止消息丢失&#xff0c;例如用户在商城下单成功并点击支付后&#xff0c;在指定时间未支付时的订单自动失效死信队列只不过是绑定在死信交换机上的队…

Springboot集成支付宝支付---完整详细步骤

网页操作步骤 1.进入支付宝开发平台—沙箱环境 使用开发者账号登录开放平台控制平台 2.点击沙箱进入沙箱环境 说明&#xff1a;沙箱环境支持的产品&#xff0c;可以在沙箱控制台 沙箱应用 > 产品列表 中查看。 3.进入沙箱&#xff0c;配置接口加签方式 在沙箱进行调试前…

Python (十) operator

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

第77讲:二进制方式搭建MySQL数据库5.7版本以及错误日志管理

二进制方式搭建MySQL数据库5.7版本 前面是使用的yum的方式安装的MySQL数据库,在企业生产环境中大多数都用二进制方式安装。 本次使用二进制方式搭建MySQL 5.7.36版本。 1.二进制安装MySQL5.7版本 1.1.下载MySQL5.7版本的二进制文件 [root@mysql ~]# wget https://downloads.…

理想汽车校招内推--大量hc等你来

投递链接: https://li.jobs.feishu.cn/s/i8BLJE1j 欢迎大家投递

端口复用的SPI控制

概要 SPI总线通常为三线构成时钟CLOCK、数据DATA和使能LE,实际工程中经常会遇到功能相同的多个SPI总线器件需要工作在不同的控制状态,如果每个器件依然采用独立的三线SPI,则控制位需要很多,本文给出了通过复用SPI总线简化控制的方法(需要用到额外的CSB片选位)。 通过复…

测试:Postman中Tests的用法

Postman是一款流行的API开发工具&#xff0c;它为API的测试、设计和管理提供了一个平台。 在Postman中&#xff0c;"Tests"是一种功能&#xff0c;允许用户在发送请求后对响应进行验证。 这通过编写JavaScript代码实现&#xff0c;该代码在Postman的沙盒环境中运行…

找不到vcomp100.dll,无法继续执行代码怎么解决

在计算机编程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“找不到vcomp100.dll&#xff0c;无法继续执行代码”。这个错误通常出现在使用Visual Studio进行C开发时&#xff0c;它表示程序无法找到vcomp100.dll文件。vcomp100.dll是Visual C 2015 Redist…

Java中的强引用、软引用、弱引用、虚引用与引用队列 通俗举例实战详解

文章目录 1. 基本概念2. 代码演示2.1 软引用代码演示2.2 弱引用代码演示2.3 弱引用引用队列代码演示2.4 虚引用代码演示2.5 虚引用引用队列代码演示 3. 实战样例3.1 利用软引用实现资源对象缓存3.2 利用弱引用实现临时行为数据缓存3.3 利用虚引用引用队列实现资源释放 本次实验…

ArcGIS Pro SDK根据Xml/Json文件反向生成几何

需求&#xff1a; geometry文件导出后的xml&#xff0c;在另一台电脑上反向生成geometry 解决方案&#xff1a; 点 MapPoint minPointImport MapPointBuilderEx.FromXml(xml); 线 包络线 Envelope envelopeImport EnvelopeBuilderEx.FromXml(xml); 面 var geometryB…