能力值:
( LV12,RANK:345 )
|
-
-
|
能力值:
( LV12,RANK:345 )
|
-
-
[调查]在校学生,了解下各位前辈介绍日常工作的内容
洛燕
OK,谢谢分享,会好好打基础的(下学期编译原理)
嗯嗯,我现在push/pop/b/bl/bne/ldr这些指令变形都已经完成了,并且都是动态生成变形指令,特征码几乎很难找,做的自己感觉还不错吧。接下来可能又要开始识别arm与thumb指令了,不知道这次能不能成!
|
能力值:
( LV12,RANK:345 )
|
-
-
|
能力值:
( LV12,RANK:345 )
|
-
-
|
能力值:
( LV12,RANK:345 )
|
-
-
[原创] 安卓开发代码4种混淆技术
文章讲的比较宽泛,混淆相对于产品形态而言的话,细分为基于用户源码和非源码形式,基于源码可以借助ir中间层做方案,而对于非源码的话,限制就比较多,除去各个平台而言,识别指令的语意就很难,方案实现上也比较有限。目前我偏向于研究非源码的混淆方案,诸如指令变形等等,缺点也很明显这一层面其实很容易通过脚本来还原。好的方案还是需要技术沉淀来探索
|
能力值:
( LV12,RANK:345 )
|
-
-
[调查]在校学生,了解下各位前辈介绍日常工作的内容
没人透露,我来爆个料吧,最近在写变形指令,比如push {rx-rx+4}共有多少种写法,目的是消除特征码,结合上其他一些指令变形无穷尽啊,无奈我也只能按照排列组合枚举写指令模版,没有编写个超强的自动生成工具,后者涉及到编译器的知识,so建议你打好基础再想其他的
|
能力值:
( LV12,RANK:345 )
|
-
-
[讨论]求常用检测hook的方法
hook这个问题问得不错,首先hook分为几种, 1是got表hook,检测方法就是拿真地址比较got项 2是inline hook,大多数都是修改函数前面字节跳转出去,检测的话1是提取hook后跳转指令特征;2是对已知的函数做crc比较。这种比较多数是通过线程进行的,定位监测crc位置可以通过静态分析及闪退时的代码向上追溯或者通过suspend thread排除定位监测线程,方法多思考下,只要有样本可以分析还是比较容易定位的 3.至于防hook还有个办法就是,hook都需要使用堆栈,通过一定的手段监测堆栈数据是否被篡改监测
|
能力值:
( LV12,RANK:345 )
|
-
-
|
能力值:
( LV12,RANK:345 )
|
-
-
[求助]对程序运行时的一些疑问 忘前辈们指点迷津
你要知道一点,你的这段代码编译的时候,系统调用和数据访问编译器会帮你以机器码组织好,载入内存执行的时候加载器会做重定位。保证你调用系统调用时跳转到对应的地址。你现在把你的代码随便贴到其他代码里要保证一点你的代码不能包含外部数据访问和外部系统调用。如果有需要你自己做重定位。 这块如果不太懂,希望你多看看编译连接方面的知识。现在学习氛围太差了,希望你多努力
|
能力值:
( LV12,RANK:345 )
|
-
-
|
能力值:
( LV12,RANK:345 )
|
-
-
crackme一枚
现在论坛里跟天气似的真冷清啊,没几个人玩,大家有什么进展吗,欢迎交流啊
|
能力值:
( LV12,RANK:345 )
|
-
-
|
能力值:
( LV12,RANK:345 )
|
-
-
[原创]玩命的销售日志 2017.7.22
竞争对手技术太强导致,无心关注技术这个屌屌的。热更新技术也是有的,技术比较前沿但是做产品吃力导致产品推广拖累技术发展。 这对技术创新简直是暴殄天物。去年想改个符号表无奈数学差hash算法一致搞不清楚。在这里再次膜拜大神。另外so合并属于什么形式?是任意两个so合并符号表hash表代码段相互合并吗,还是合并后其中一个so属于主体类似加载器去加载另一个so呢。现在so方面的保护发展在对于指令的保护,难度也在于此,指令vmp还是比较不容易实现的,尤其是arm/x86/arm64/x64平台过多。。。
|
能力值:
( LV12,RANK:345 )
|
-
-
|