一直说从事逆向工作,一直都很迷茫,逆向倒是啥啥?本质又是啥?
有人说逆向是去分析竞品,了解竞品的实现的业务逻辑,当然了,顺便扣出其实现方法,那就最好了。
也有人说,逆向就是去po jie 别人的产品,然后修改别人的业务逻辑,达到内购,无敌,xxxx等功能。
还有人说,逆向就是去做安全,去给产品做加固,给产品做反调试,反wg。。。。
当然还有人说,逆向是去做挖洞的,然后各种漏洞利用。。。。。。。。
可这些都是逆向的岗位,我又迷茫了,到底啥才是逆向,逆向的本质又是啥呢?
问题一:逆向难道不是去寻找业务逻辑的实现么?
一直觉得逆向就是去了解目标的的业务逻辑的实现。在分析过程中,通过猜想/验证,框架识别/了解框架原理,然后提取目标的业务逻辑。
- 可是,这活好难啊!!难于上青天!!!各种反调试,各种暗装,各种反外挂策略,无穷无尽啊。。
问题二:逆向难道不是去发觉别人的业务逻辑的漏洞么?
不论从po jie,还是做 w g 的手段而言,本质都是定位后,然后读人家的业务逻辑,然后寻找其中的逻辑漏洞。
- 可是啊,伪代码看的好累,汇编看的好伤人,定位关键代码又叫一个瞎猫碰死耗子,碰运气啊。还是那种难难难!!!
问题三:既然输出是固定的,可不可以,利用数学公式,来帮咱们处理呢?
如果你想的目标定位在:漏洞挖掘,业务逻辑pojie…
那么基于DNN,RNN。。。等相关的神经网络,可不可以,通过 二进制输入,输出漏洞,和业务逻辑呢
- 从机器学习的方法来看,按理是可以实现的。可难点在于layer的实现…又是一波难难难!!!
猜想:
如果,从二进制输入,能输出 漏洞位置,和目标的业务逻辑。那么逆向的分析工作也就轻松很多。。。
畅想ing…
欢迎大佬指点,一起交流。