逆向新手需要学算法吗?要学到什么程度?

admin 2024年11月27日22:58:29评论16 views字数 1473阅读4分54秒阅读模式

1、疑问

    我在刚接触逆向时,一直有一个很浓烈的疑问, 要不要学习密码学,如果要学那学到什么程度?

我在刚开始学习app逆向的时候,密码学部分一直是比较迷茫的状态

这玩意儿学了有啥用?

我为啥要知道他咋算的?

直接调库或者把代码扣出来就行,为啥要管他的计算过程?

我感觉初学者应该都会遇到点这个问题:很多课程都在教算法的原理,但是这玩意儿我学了好像没啥用?

所以密码学部分我一直都是往往复复学了N多遍,一学就想睡觉。过段时间看到大佬手撕算法又想去学,一打开视频又想睡觉。。。

最后磨了大半年,还是啥都不会...,直到近段时间分别在 web, app, exe的逆向经历让我对此感慨万千,也算有了个答案。

2、算法对逆向的帮助

2.1 简单猜算法

前两个月搞了一个平台的APP,加密一路跟到so里,但是so里面混淆绕的我眼花缭乱,各种方法来回跳,但是我菜也不会去混淆。。。两眼一黑

后面看到 jni 方法相同入参调用的结果相同,猜测应该是对称加密

对称加密基本就AESDES,而且在so代码中瞎逛的时候看到一个方法很像AES的init,类似于

逆向新手需要学算法吗?要学到什么程度?

这几个case,八九不离十是AES了,后面瞎试把它试出来了

把传入的一个字符串常量md5一下当作key 然后AES-ECB就结束了。。。

逆向新手需要学算法吗?要学到什么程度?

2.2 昨天刚发的某EXE程序逆向

在exe逆向时有一个登录的加密,说实话,真分析不动,代码又看不懂,动态调试又不会看变量值。。。

绕了一天的弯路,直接放弃,于是开始剑走偏锋:

看到那个加密结果长度一直都是十六进制的长度为40位,直接盲猜sha1签名,然后在反编译后的结果中,也可以很明显的看到sha1的特征——固定的特征值

逆向新手需要学算法吗?要学到什么程度?

逆向新手需要学算法吗?要学到什么程度?

然后直接hook这个方法就能搞定了

2.3 某程的参数

没想到过了大半年了,又开始搞web了,js都看不懂了,随便一个文件七万多行,还有那个b语法,真看不懂了

逆向新手需要学算法吗?要学到什么程度?逆向新手需要学算法吗?要学到什么程度?逆向新手需要学算法吗?要学到什么程度?

这个 ?. 现在都不知道是什么鬼玩意儿

又在webpack里面,跳得没完没了,那个堆栈比我显示器还长

跟了一天,第二天一来忘记昨天跟到哪儿了,直接崩溃,于是又想剑走偏锋

加密结果长度 32 位,一眼MD5,web端是js,直接WT-JS看下md5的代码

逆向新手需要学算法吗?要学到什么程度?

那四轮计算,加上结尾的这个赋值,太显眼了

于是直接大概翻一下代码,超级长一截的计算,很难不注意到这段代码,同样的结尾赋值:逆向新手需要学算法吗?要学到什么程度?

打断点,成功断住,回一下堆栈结果就出来了,结束

之前跟了一天一晚的值,现在不到五分钟搞定

3、结论

从前面基本就能看出,我学了这么久到现在也不知道他的计算具体流程,只是通过他的一点特征去猜、去试,大海捞针,不过大海捞针至少有的捞啊

我自己也是个菜鸡,就我个人的看法可以给出一个答案了

算法的学习有必要吗?

我认为有必要,有时候能省很多力气,以上三个例子如果不是猜算法,我到现在依旧搞不出来。但是猜算法,几分钟出结果。

那算法需要学习到什么程度?

不需要特别清楚每个算法的计算流程,但是得知道大概如何识别算法,固定的模数、加密结果的长度、相似的运算流程等等。如果遇到比较明显的能猜个大概,基本就够用很长一段时间了。

至于算法魔改,到现在还真没遇到过,还是太年轻。我也不知道为什么,tm检测、混淆一个比一个狠,但是算法基本都标准算法,没有魔改

逆向新手需要学算法吗?要学到什么程度?

    反正现在这种程度,对我来说是基本够用了,而且帮助很大,对于新手来说学的东西本来就多的一批,不太建议把很多的时间放在学习算法具体流程上,能大概区分算法特征就够了

等水平到能在so里硬扣算法的时候,再去学计算过程吧,扣着扣着你就感觉这玩意儿似曾相识,就像飞驰人生那个,上赛道跟回家一样

原文始发于微信公众号(逆向成长日记):逆向新手需要学算法吗?要学到什么程度?

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月27日22:58:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   逆向新手需要学算法吗?要学到什么程度?https://cn-sec.com/archives/3442488.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息