使用c++, rust实现遍历PEB获取模块信息的代码段. 主要练练rust
Read MoreRust语言污点分析相关的几篇内容
香山杯初赛的3到逆向的WP,不是很难的题,但是有一些新的东西,chaquopy框架,这个框架完成了一套sdk,可以安卓调用python代码也可以python调用java代码。可惜的是python是源码存储,还有研究的空间
Read More智能合约代码混淆,感觉还是ollvm的影子,还是那三种模式,只是做了相关的适配以及加了很多其他细节,总体思路是没有变的。
创新点在于使用改进后的混沌映射来做不透明谓词,增加了一定的混淆程度
Read More会议:IEEE Transactions on Software Engineering
等级:CCF-A
Tags: Obfuscation Smart Contract
4道题做了3到,都不太方便纯静态,动调倒是都挺简单的. 最后一题unity的游戏没什么经验,不知道怎么下手,CE也没下就放弃了
更新:又看了一下其实unity还是很简单,只是忘记dnspy该展开那个类了,(我说怎么看不到代码呢
Read More没打,王哥发了我三题,我就看了一下,稍微多花了时间。
Read More这是一篇CCFB的文章,来自中科大,文章提出了一种新的二进制混淆模式来抵抗binary diffing技术的分析。
从混淆角度,它是从IR层面切割函数并融合函数,改变了函数的调用关系。与OLLVM是不冲突的混淆,对抵抗binary diffing有很好的效果,并且也是基于LLVM框架,对混淆技术的发展是有意义的。
Read MoreTags: llvm reverse obfuscation
Obfuscate项目是用于隐藏字符串,增加分析的难度,但是Obfuscate只能对抗静态的分析。zer0pts比赛中的一题就是利用这个项目,但是它很巧妙,隐藏的是模块的函数名,主要逻辑是调用so文件的模块,它隐藏so中的函数名后,从静态分析是很难看出来调用的逻辑是什么,忽然感觉这个项目就有点用了。
Read More利用Frida去调用java代码中的类,然后爆破。算是一种主动的方法。主要是之前有一道apk题目是爆破的思路,但是我不会写java代码,想起来很难受,冲浪的时候看到Sakura的blog有感,就再去试试,并记录在此。然后发现这题原来是adword原题,(其实题目挺简单,只是当时摆),气死✌了。
主要是记录Frida主动调用apk中Java中的代码。主动调用可以用于爆破,模拟程序部分执行。
需要注意的知识点是在java代码中的static类型数据在爆破过程中需要每次都对这种类型值重新设置。因为static类型在所有实例中都是统一,修改一个实例就会修改所有实例,需要用变量.属性.value = ...
的写法重新设置值。
var bvar = b.$new(IntClass.$new(2));
for (...) {
bvar._static_val.value = ...;
}
Read More
Search