逆向经历回顾总结

逆向经历回顾总结

一、前言

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

二、个人经历

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

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

三、我对逆向的理解

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

四、安卓逆向

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

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

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

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

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

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

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

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

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

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

五、iOS逆向

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

六、其他平台逆向

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

七、CTF

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

八、总结

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

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

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

相关文章

RocketMQ 5.X PopAck 源码拆解

目录 一、RocketMQ 5.X 架构 RocketMQ 5.X 架构RocketMQ 5.X 为什么发明 Pop 二、 Pop流程 Pop 流程 锁 Consumer Queue计算 Pop Offset读取消息添加 Check Point释放 Consumer Queue 锁 Pop 关键数据结构介绍 Pop OffsetCheck PointReceiptHandleStartOffsetInfoMsgOff…

[NAND Flash] 3.3 Flash闪存工艺知识深度解析

依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 全文 4400 字。 Wafer即晶圆,是半导体组件“晶片”或“芯片”的基材,从沙子里面高温拉伸生长出来的高纯度硅晶体柱(Crystal Ingot)上切下来的圆形薄片称…

计算机网络:物理层(编码与调制)

今天又学会了一个知识&#xff0c;加油&#xff01; 目录 一、基带信号与宽带信号 1、基带信号 2、宽带信号 3、选择 4、关系 二、数字数据编码为数字信号 1、非归零编码【NRZ】 2、曼彻斯特编码 3、差分曼彻斯特编码 4、归零编码【RZ】 5、反向不归零编码【NRZI】 …

Linux Zabbix企业级监控平台本地部署并实现远程访问

前言 Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。能监视各种网络参数&#xff0c;保证服务器系统的安全运营&#xff1b;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 本地zabbix web管理界面限制在只能局域…

Elasticsearch:相关性工作台 - BM25 及 ELSER 的相关性比较

我们知道 Elastics Learned Sparse EncoderR (ELSER) 可以被用来做语义搜索。它是一个 out-of-domain 的语义搜索模型。无需训练&#xff0c;我们就可以得到很好的相关性。有关 ELSER 的更多知识&#xff0c;请参考文章 “Elastic Learned Sparse Encoder 简介&#xff1a;Elas…

猫头虎博主深度解析:Tomcat中的`IllegalArgumentException`异常处理全攻略 ️

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

uniapp点击按钮,防止按钮多次点击多次触发事件【防抖操作】

图片、 一、在根目录下新建common文件并创建common.js文件&#xff0c;输入下面代码 // 防止处理多次点击function noMultipleClicks(methods, info) {// methods是需要点击后需要执行的函数&#xff0c; info是点击需要传的参数let that this;if (that.noClick) {// 第一次点…

活动预告 | 微盟技术沙龙 - Elasticsearch 在微盟的实践 12/21/2023

微盟技术沙龙 「微盟技术沙龙」是由微盟研发中心发起并联合各方小伙伴为开发者举办的系列技术沙龙&#xff0c;从用户&#xff0c;产品&#xff0c;技术等方面与开发者进行交流。 微盟技术沙龙关注开发者在实际应用中遇到的问题。提供最真实的干货&#xff0c;以技术会友&…

DeepStream--调试Gstreamer

DeepStream是基于Gstreamer开发的。有时候需要在Gstreamer加日志&#xff0c;比如想在rtpjitterbuffer里加日志。 首先&#xff0c;执行gst-inspect-1.0 rtpjitterbuffer命令。 从结果中可以看到&#xff0c;rtpjitterbuffer插件的源码是gst-plugins-good&#xff0c;版本是1…

Halcon参考手册异常检测知识总结

1.1异常检测介绍 本章将介绍如何使用基于深度学习的异常检测和全局上下文异常检测。通过这两种方法&#xff0c;我们想要检测图像是否包含异常(异常是指偏离正常的事物&#xff0c;未知的事物)。 异常检测或全局上下文异常检测模型学习无异常图像的共同特征。经过训练的模型将…

map 和 multimap 存储区别 、取消自动排序 unordered_map

测试代码 std::map<int, CString > Map1;Map1.insert({ 6, L"HN400*200*11*8" });Map1.insert({ 5, L"HN200*200*11*8" });Map1.insert({ 7, L"HN100*200*11*8" });Map1.insert({ 4, L"HN200*200*11*8" });Map1.insert({ 4, L…

Spring对JUnit4和junit5的支持

Junit4支持 第一步&#xff1a;准备工作&#xff1a; 引入JUnit4的依赖&#xff0c;Spring对JUnit支持的依赖还是&#xff1a;spring-test&#xff0c;如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://ma…