如何在vscode里优雅地用typescript编写FridaScript
作为一个不懂 js 的人,每次用的时候都觉得它的弱类型非常反人类,于是改用 typescript,并且 frida 完美支持 ts,本文记录一下如何优雅地在 vscode 里使用 ts 开发 FridaScript。(本质上只要支持 package.json 和 tsconfig.json 的 IDE 都可以,Windows/MacOS都可以)
作为一个不懂 js 的人,每次用的时候都觉得它的弱类型非常反人类,于是改用 typescript,并且 frida 完美支持 ts,本文记录一下如何优雅地在 vscode 里使用 ts 开发 FridaScript。(本质上只要支持 package.json 和 tsconfig.json 的 IDE 都可以,Windows/MacOS都可以)
前些天自费买了些测试机,没有root平时测试很不方便,其中一台是红米8A(olivelite),本文记录一下整个过程,bootloader -> twrp recovery -> magisk -> edxpsoed, 万一有用呢对吧?
2020年2月12日,Zhiniang Peng 在 github 上公开了对于 shadowsocks 的攻击理论,https://github.com/edwardz246003/shadowsocks.git,在阅读完作者的文档后获益匪浅,但 github 中主要是理论,代码和场景写的描述的非常混乱,本文亲自演示一遍整个流程,把整个攻击演示的更清楚。 感谢 chenyuan 的帮助和交流。
作为老司机,把所有的失败的情况都列举一遍,用于给后人索引。
本文首发于先知社区:https://xz.aliyun.com/t/6643,转载到自己的博客作为系列的一篇文章,二者内容是一致的,推荐大家去先知看,因为 wordpress 排版太恶心了。
关键词:
今天升了macOS10.15,发现自己编译的llvm和clang坏掉了,重新编译也没用,而自带的/usr/clang是没有问题的,发现是 /usr/include 缺失。
国庆节看学弟们在参与balsnctf2019,有一个逆向是给一段汇编,要求拿到flag,这段汇编是一种自定义的,因此没有现成的工具来处理它。我只是凑个热闹,虽然我没有做出来,但练习了一下手绘CFG,挺有意思的,本文讲一下CFG的基础知识和如何手绘CFG。
本文使用到的环境:python2、win10、graphviz-2.38、pypi: graphviz 本文涉及到的代码:https://gist.github.com/LeadroyaL/4e068787e075e9ff030c4937f5c113bd
hikari是近年来市面上开源的最优秀的一款基于llvm的混淆工具了,也提供字符串加密功能,上一篇文章解密了armariris的字符串,本文用unicorn解密一下hikari的字符串。
armariris是上交Gossip的在2016年公开的,在ollvm上添加了额外一个Pass,从而实现字符串加密,由于其特征简单,破解也简单,于是使用unicorn破解掉它的字符串加密。
最近学习unicorn,看到一位大佬在AndroidNativeEmu上把 X-Gorgen的计算跑通了,听说这个版本的leviathan函数很复杂,准备动手看看复杂在哪里,一眼就看到了JNI_OnLoad里的花指令。抱着学习unicorn的目的,本文记录下如何使用unicorn去掉libcms.so的花指令。
在 ida 里写 python 有两个难受的地方,一个是类型推断,一个是代码补全,我喜欢使用 pycharm 开发,本文科普一下如何在 pycharm 里编写 idapython 的脚本。
中午突然想逛逛jackson 和 fastjson,发现了这个CVE,抱着学习的态度去写了一下利用,挺基础的,高手绕道,实现了有限制的 RCE。https://github.com/FasterXML/jackson-databind/issues/2410
温故而知新,一年前的现在写的文章有点旧,而且不够准确,于是新开一篇介绍一下。
前段时间在搞应急,从一个啥都不会的小白学了一些XXE的简单poc构造和防御手段,网上攻击的poc很多,就不多说了,防御方法五花八门,而且有些防御根本就是无效的!!写篇文章分享一下,如何用Java彻底防御XXE。
之前写过一篇 XXE 的防御,想来过去一年了,只验证可行性和防御措施,实际攻击还没有尝试过,尝试过程遇到无数个坑,这里做一个详细的总结。9102 年了,Java 里的 XXE 危害降低了不少。
最近空闲时间搞了个小工具,9102 年逆向遇到的 multi-dex 越来越多,这个工具可以快速寻找到指定类所在的 dex,使用起来还是很方便的,比之前 grep 优雅多了。
前些天iPhoneSE正式退役,换了一台安卓机做主力机,三星 A60 元气版,刷微博的时候总是刷到非常低俗恶心的广告,网上经常看到去广告版的微博,全都是被加固过,怕被人暗算,不敢用,周末就自己搞了一下。之前微博平白无故把老子的号给封了,这是第二篇杠微博的文章。
额外多说几句,本文首发于2019.6.11,网上的去广告版有些被加固过,不知道作者有没有夹杂私货,我是不敢用,不建议使用。
最近帮他们查了一下线上出现了一个神奇的 bug,先加载A库再加载 B 库 和 先加载 B 库再加载 A 库,会有不一致的行为,看起来不一致的行为是环境变量引起的,仔细排查了发现是strtok引起的,运行时会偷偷抹掉原本的字符串,稍微科普一下。
最近在修花指令,脚本修复 ldr 的时候,如果是从 PC 开始计算,发现ida的表现和keystone 的表现是不一致的,查了很久没找到原因。直到后面翻arm手册,才发现一个小细节。
ndkr19默认用的是llvm-8.0.2,而今天才发布的llvm-8.0.0,之前是用7.0.0将就的,今天终于不用将就了,重新搭建了一下环境,对 ndk 使用 llvm 的理解更加深刻。本文介绍一下开发环境的搭建。
从小老师就教育我们,从c到exe经历了编译、连接,试卷上可能会出现;这么多年过去了,我也只知道这句话,最近有幸研究了一下 obj 的文件格式,对重定位有了一定的了解,写篇文章造福一下后人。