能力值:
( LV8,RANK:120 )
能力值:
( LV8,RANK:120 )
[原创]换种方式理解 ELF 文件格式
感谢楼主,总结得挺好,点赞!个人愚见,整个计算机体系架构,从最底层的硬件到最顶层的应用都充斥着:自底向上的概念抽象以及自顶向下的数据查询思想。就概念抽象而言,在最底层的指令集有抽象的操作码 opcode 和操作数 operands,并逐步向上抽象衍生到 -> 指令接口、数据接口 -> 内核 -> 驱动 -> 框架 -> 应用等;更进一步将里面的各层逻辑进行整合,就衍生出现在很火的 docker(硬件平台、系统、驱动以及部分必要框架整合在一起抽象为一个 docker 概念),SaaS, FaaS( docker + 应用层代码整合在一起) 等概念。就自顶向下的数据查询思想而言,其更是深入到计算机体系结构的基因里。应用层程序要想使用系统/三方库函数,得查询——按情况使用动/静态链接器查询对应的符号地址;库函数想要使用系统底层能力,得查询——依据 syscall id 进行查询;在硬件层,执行指令得从代码段依据 PC 进行查询,获取数据得依据 address 从寄存器/RAM 中查询,期间为了提高查询效率,还额外引入 cache 机制,比如提高数据查询效率的 data cache,提高指令查询效率的 instruction cache 等。回过头来,再来理解各种文件格式、架构设计貌似更清晰明了咯。
能力值:
( LV8,RANK:120 )
一种通过后端编译优化脱混淆壳的方法
腻害!为楼主的耐心点赞。其实基于静态的数据流分析,修复 CFG 以达到自动反混淆 OLLVM FLA 之类的技术是有的。提一下我的个人建议哈,如有不对欢迎斧正:
1. 最好不要基于特定的指令集做分析,而应当将之转换为统一的 IR,这样编写的反混淆工具才能跨 ISA 使用;这块 IDA 的 microcode 和 GHIDRA 的 p-code 都是非常不错的参考;
2. 提到数据流分析就不得不提及 SSA, 它本身就是为了简化数据流分析而来的,我个人建议还是使用它,最直接带来的好处是 def-use chain 变得非常简单;当然也有负面影响,比如引入了 phi-node,学习和处理成本较高(特别是修改 CFG 之后得手工修复 DFG),但瑕不掩瑜。作为对比, IDA microcode 是 non-SSA, GHIDRA p-code 是 SSA, 在反混淆这类需要大量数据流分析的场景,后者更得心应手;
3. 数据流分析中最让人头疼的问题之一是“涉及到栈操作“的数据流追踪,这里面的学问太多了(Load Gurad, Store Guard, Stack pointer Normalize, etc),IDA 在这块非常保守,GHIDRA 相对激进一些;我猜测你的别名分析出错应该跟这块有关;
4. 欢迎探讨编译器 and 反编译器相关内容,国内搞这块的兄弟真的太少了
能力值:
( LV8,RANK:120 )
[原创]逆向学习sgavmp篇
给楼主点赞,AVMP 是16年一位大佬和我一块写的,这是目前看过分析得最深入的文章了。不过AVMP还有不少核心安全能力大家可以继续深入研究一下哈。
当前团队致力于研发业界顶级的安全攻防产品(研发 vmp 并逆向分析其他 vmp),处于高速发展阶段,亟需编译器、逆向攻防人才,欢迎有兴趣的同学联系 yuanchun.wyc @ alibaba-inc.com。
最后于 2020-5-29 17:05
被万抽抽编辑
,原因:
能力值:
( LV8,RANK:120 )
能力值:
( LV8,RANK:120 )
能力值:
( LV8,RANK:120 )
能力值:
( LV8,RANK:120 )
[原创]inlineHook学习分析
currwin
再声明一下,这个FAInHook的项目核心部分代码都是抄一位大神的 @ele7enxxh,喜欢的请移步到他的github上去。
这里我只是做了很微不足道的封装工作,还请楼主把标题改一下,把标题里我的 ...
哈哈,赞!要技术更要品格。
能力值:
( LV8,RANK:120 )
能力值:
( LV8,RANK:120 )
[推荐]《Web安全之机器学习入门》简介以及目录
兜哥先不要激动,我绝对没有要喷您的意思。我也看过很多您写的文章,学到了很多,由衷敬佩您的实力,所以我才第一时间买了这本书。写书不易,任何劳动成果都应当被尊重。但是作为一名读者,我们也应当站在公正的角度就事论事。
首先,我还是坚持我的观点,就目前的内容来看,本书定位为技术书籍还是不太恰当的,个人认为作为科普书的话就非常nice。
其次,机器学习有其本身的特点,学习曲线非常陡峭,从本质上就不可能让人跨过理论知识直接步入实际应用阶段。举个简单的例子,同样的机器学习算法,同样的应用场景,因为超参数的设定不同,得到的结果却迥然不同,因此机器学习在实际应用领域很多时候除了特征提取之外考验的是工程师的调参能力,而调参能力的高低跟工程师对该算法核心理论的理解息息相关。因此不懂理论知识的人想去用某个算法解决实际问题,那么这个命题本质上就是个伪命题。如果非要这么定义的话,就可能沦为《30天学会c++》之类的笑柄了...
另外,就我个人而言的话,国外的一本同样讲解
机器学习在web安全的应用的书 (同样入门级,由于内容很少,甚至都算不上书)相对来说就说得透彻一些。同样是以介绍K-means和DBSCAN算法为例,它也没有任何深奥的理论知识,但显然那本书解释的更形象具体一些(个人观点,大家可自行对比)。
最后,看到前言所述,这本书只是兜哥AI三部曲的第一部,第二部重点介绍深度学习,很期待下一部书籍,我还是会第一时间购入O(∩_∩)O
能力值:
( LV8,RANK:120 )
[推荐]《Web安全之机器学习入门》简介以及目录
书已到,书很薄,内容不多,很快过了一遍。简单反馈一下我的看法,仅供参考。
优点:
1. 提供了大量现实可用的训练集,免去了漫无头绪找数据的烦恼
2. 目前绝大部分机器学习算法都有提及,且每个算法的实践示例都是基于安全领域的数据,对于想了解如何应用机器学习知识解决web安全领域问题的同学而言,有一定参考价值,但也仅仅是参考而已,具体原因见后文缺点。
缺点:
1. 书很薄,有效内容也就200页左右,但却提及了绝大部分机器学习算法...可想而知里面知识有多浅尝辄止...通篇没有任何理论说明,我可以保证看完本书之后,对于不了解机器学习的人来说,你仍然不了解机器学习 ...虽然我也很反感一上来就一大波数学公式吓跑初学者,但一个讲解机器学习的书竟然不告诉你什么是cost function,什么是gradient descent...更不要说神经网络里面的经典算法back-propagation等等等等了。。。
2. 所有算法通篇一个套路:大致告诉你这个算法怎么回事;开始讲解示例代码,所谓的代码讲解也是也简单到令人发指,说白了就是教你怎么调用sklearn之类机器学习的库函数...o(╯□╰)o
3. 价格偏高。60多的书,感觉有50块在书名上...
总结: 小弟真的很失望啊...
建议:个人觉得机器学习是一门门槛较高的学科,特别是理论门槛非常高。而理论却是必不可缺的,我们不能舍本逐末,没学会走就去学跑。因此虽然理论知识很难啃,但这个硬骨头是必须要啃的。这里我以初学者的身份推荐几本我个人认为比较好的书吧:
中文:大名鼎鼎的“西瓜书”——周志华编写的机器学习;
英文:吴恩达的系列教程,以及一本神经网络及深度学习的入门神书:http://neuralnetworksanddeeplearning.com
能力值:
( LV8,RANK:120 )
能力值:
( LV8,RANK:120 )
能力值:
( LV8,RANK:120 )
能力值:
( LV8,RANK:120 )
能力值:
( LV8,RANK:120 )
能力值:
( LV8,RANK:120 )
能力值:
( LV8,RANK:120 )
[原创]360无线攻防第三题详细分析
说不上前辈哈,我现在还是小菜一枚...
记得我13年开始学习安卓安全的时候java也就会写个hello world,更不要提什么安卓开发了...
个人觉得,就IT学习而言,不要花太多的时间去纠结怎么做好准备,怎么开始入手等等,而是应该立即就开始,遇到问题就google,遇到某个知识点不懂就去学...简而言之:Just Do It! And Never Give Up!
共勉
能力值:
( LV8,RANK:120 )
能力值:
( LV8,RANK:120 )