Forwarded from dnaugsuz
这个教程教了如何 hack 下面这一小段程序,虽然有些纰漏,喜欢学习的同学们欢迎过目(
+ 动态修改
+ 找到指针
+ 动态修改
main() 的参数 argc 和返回值+ 找到指针
str 指向地址,并且覆写堆数据#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static char *msg = "duangsuse 菜鸡\n";
int main(int argc, const char **argv) {
char *str = malloc(sizeof(msg)); strcpy(str, msg);
if (argc > 1) printf(str);
return -1;
}Forwarded from duangsuse Throws
#statement #PL #tech #Android #dev 你们知不知道为什么我很喜欢说我『幼稚』? 🤔
首先,有些大佬就是非常喜欢说自己『幼稚』,可能他们也和我有一样的遭遇吧(笑)
『我怕被垃圾骚扰』 — 看,多直白,我都从来不说如此丧气的话,然而,现在在学高级类型和静态分析理论的不是这个会尊重别人的我(笑)
垃圾是什么? — 不知道自己不知道的人
幼稚,这是曾经某个 Android 开发者(which 现在在巨硬 M$ 工作,当然这个他自己说的,不需要经过允许)对我的评价(之前的某件不愉快的事)
所以我想我永远都是幼稚的,感谢他的祝福,Stay hungry, stay foolish.
真正的保持饥饿、保持愚蠢,从此不要再毫无执行能力,不要再被接口,再被一个表面积蒙住双眼
是时候让理想变成现实了
有了技术,方可实现计划
我会永远保持幼稚和愚蠢 — 对我看我自己来说,以便孜孜不倦地学习到新知识,提升各方面自己的认知层次,或许
没错,可能就是这样吧,如果自己想学的更『不同于常人』一些,就要接受别人不一样的眼光,或许有鼓励、或许有批判
但一定要坚持走下去,坚持追根究底的学习态度
我的目光从来不应该停留在理解接口定义和接口文档的层次上,无论是 Web 开发、桌面和移动应用开发、嵌入式还是程序设计语言理论
我不想在诸如 Vim/Emacs(吐槽,你们这些争论他们好坏的,真的用他们吗?你们知道啥是 Emacs Lisp 啥是 VimScript 吗?)意识形态之争
和板凳条凳(参考鲁迅《阿 Q 正传》),名字叫函数式还是面向函数的问题上纠结
有些争论是没有太大意义的,技术上真正深度的变迁,从一个普通的用户、到系统管理员、到开发者、再到开发者所依赖的开发者
从只会使用应用程序,到只会理解代码、抄改代码,到真正理解并且会编写代码,到看透代码和各种理念背后的东西
我要一步一步走上去,我想这就是我的路,我『不喜欢』的数学阻止不了我,如果我需要数学,我就会喜欢它
但如果有一天 duangsuse 真的能赶上巨佬们的步伐,duangsuse 要真心为想学习的人考虑,好好的回答,永远不去扭曲别人
希望真能这样吧,,,
首先,有些大佬就是非常喜欢说自己『幼稚』,可能他们也和我有一样的遭遇吧(笑)
『我怕被垃圾骚扰』 — 看,多直白,我都从来不说如此丧气的话,然而,现在在学高级类型和静态分析理论的不是这个会尊重别人的我(笑)
垃圾是什么? — 不知道自己不知道的人
幼稚,这是曾经某个 Android 开发者(which 现在在巨硬 M$ 工作,当然这个他自己说的,不需要经过允许)对我的评价(之前的某件不愉快的事)
所以我想我永远都是幼稚的,感谢他的祝福,Stay hungry, stay foolish.
真正的保持饥饿、保持愚蠢,从此不要再毫无执行能力,不要再被接口,再被一个表面积蒙住双眼
是时候让理想变成现实了
有了技术,方可实现计划
我会永远保持幼稚和愚蠢 — 对我看我自己来说,以便孜孜不倦地学习到新知识,提升各方面自己的认知层次,或许
没错,可能就是这样吧,如果自己想学的更『不同于常人』一些,就要接受别人不一样的眼光,或许有鼓励、或许有批判
但一定要坚持走下去,坚持追根究底的学习态度
我的目光从来不应该停留在理解接口定义和接口文档的层次上,无论是 Web 开发、桌面和移动应用开发、嵌入式还是程序设计语言理论
我不想在诸如 Vim/Emacs(吐槽,你们这些争论他们好坏的,真的用他们吗?你们知道啥是 Emacs Lisp 啥是 VimScript 吗?)意识形态之争
和板凳条凳(参考鲁迅《阿 Q 正传》),名字叫函数式还是面向函数的问题上纠结
有些争论是没有太大意义的,技术上真正深度的变迁,从一个普通的用户、到系统管理员、到开发者、再到开发者所依赖的开发者
从只会使用应用程序,到只会理解代码、抄改代码,到真正理解并且会编写代码,到看透代码和各种理念背后的东西
我要一步一步走上去,我想这就是我的路,我『不喜欢』的数学阻止不了我,如果我需要数学,我就会喜欢它
但如果有一天 duangsuse 真的能赶上巨佬们的步伐,duangsuse 要真心为想学习的人考虑,好好的回答,永远不去扭曲别人
希望真能这样吧,,,
Forwarded from dnaugsuz
还好我起码是个 UNIX-Like 幼稚系统管理员,并且有 Arch LiveCD 的 U 盘在旁边...
duangsuse::Echo pinned «#statement #PL #tech #Android #dev 你们知不知道为什么我很喜欢说我『幼稚』? 🤔 首先,有些大佬就是非常喜欢说自己『幼稚』,可能他们也和我有一样的遭遇吧(笑) 『我怕被垃圾骚扰』 — 看,多直白,我都从来不说如此丧气的话,然而,现在在学高级类型和静态分析理论的不是这个会尊重别人的我(笑) 垃圾是什么? — 不知道自己不知道的人 幼稚,这是曾经某个 Android 开发者(which 现在在巨硬 M$ 工作,当然这个他自己说的,不需要经过允许)对我的评价(之前的某件不愉快的事)…»
duangsuse::Echo
#learn https://gist.github.com/duangsuse/5ca62db55f06d4d97d72729d11a3e6d3#file-r2-debug-data-md 好耶! 呃,其实因为我开始功课做得有点不足,然后就有点错漏,包括 x86 和 x86_64 的调用约定差别我没注意到,死认为参数必须靠栈传递了,导致教程写错 最后一段其实也有错误,不过不管哪里有错,希望大家能接受。 那么这教的大概就是一些基本的 native 动态分析技能,如此。在 x86 上有点区别,不过更简单一些了应该(x86…
那么既然看了这个显然就是有基本的对『黑盒』的动态分析能力了
恭喜你,你又打破了一个黑盒。
很多人终身都无法理解的,深邃黑暗
当然也是很多人认为『几乎没有办法』分析的东西
👆 是针对只会用被人包装好即拆即用的反编译器的前端来说
下一步可能是学习如何写 SIMD 平台指令(比如 AVX、SSE、NEON,跑
(讲道理,如果不知道如何在 C 里面
我呢,下面说 Android 平台上的... 原生机器代码调试
因为 Radare 2 实际上支持 Dalvik 的字节码格式,换句话说如果没有 Smali 之类的字节码工具,单上 r2 也可以完全胜任分析任务
而且分析功能还会更为强大,因为 Radare 2 本身就是为逆向分析而生的
至于 Dalvik 平台的动态分析可以用 Python 工具 Andbug,本频道之前也有讲使用 Andbug 对混淆后 classes 的动态分析(寻找反修改逻辑)
即便原作者使用 Proguard 将绝大部分的『名字』都替换为无意义的东西甚至使用了重打包(尽可能将无关类移动到根节点上,藏叶于林,使手工静态分析几乎不可能完成)
动态分析简单打下几个断点,然后让应用正常执行在两个小时内可以找到相关逻辑的位置,体现了动态分析『抓重点』的强大性能
恭喜你,你又打破了一个黑盒。
很多人终身都无法理解的,深邃黑暗
当然也是很多人认为『几乎没有办法』分析的东西
👆 是针对只会用被人包装好即拆即用的反编译器的前端来说
下一步可能是学习如何写 SIMD 平台指令(比如 AVX、SSE、NEON,跑
(讲道理,如果不知道如何在 C 里面
asm 内联汇编,学这些也没太大用,所以可以先了解 GCC 的 Assembly I/O Templating 机制(跑我呢,下面说 Android 平台上的... 原生机器代码调试
因为 Radare 2 实际上支持 Dalvik 的字节码格式,换句话说如果没有 Smali 之类的字节码工具,单上 r2 也可以完全胜任分析任务
而且分析功能还会更为强大,因为 Radare 2 本身就是为逆向分析而生的
至于 Dalvik 平台的动态分析可以用 Python 工具 Andbug,本频道之前也有讲使用 Andbug 对混淆后 classes 的动态分析(寻找反修改逻辑)
即便原作者使用 Proguard 将绝大部分的『名字』都替换为无意义的东西甚至使用了重打包(尽可能将无关类移动到根节点上,藏叶于林,使手工静态分析几乎不可能完成)
动态分析简单打下几个断点,然后让应用正常执行在两个小时内可以找到相关逻辑的位置,体现了动态分析『抓重点』的强大性能
duangsuse::Echo
那么既然看了这个显然就是有基本的对『黑盒』的动态分析能力了 恭喜你,你又打破了一个黑盒。 很多人终身都无法理解的,深邃黑暗 当然也是很多人认为『几乎没有办法』分析的东西 👆 是针对只会用被人包装好即拆即用的反编译器的前端来说 下一步可能是学习如何写 SIMD 平台指令(比如 AVX、SSE、NEON,跑 (讲道理,如果不知道如何在 C 里面 asm 内联汇编,学这些也没太大用,所以可以先了解 GCC 的 Assembly I/O Templating 机制(跑 我呢,下面说 Android…
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from Quinn Chen
... 所以啊,就猜到是 Sketch 画的,4WH27ZUYV7X3ZDHEXSNOPFF34S4KVZM3X3X3ZDHFWCY6LPUI4WHITZNOWPSLTCBOFYXAU===(并非针对这件事,只是感叹一些无需考虑的之前的细节什么的)
Quinn Chen
Quinn Chen: http://quinnchen.me/2018/09/13/2018-09-13-asm-transform/ 分享一篇刚写完的博客
这个博文写的真的很好,临时看了一下,实在是不错,作者是 Hunter Java AOP 框架的作者
推荐大家阅读,因为干货实在是很多所以暂时就不会写笔记,或许以后有时间了再读下
推荐大家阅读,因为干货实在是很多所以暂时就不会写笔记,或许以后有时间了再读下
#recommended #blog #share http://quinnchen.me/2017/07/01/2017-07-01-sparsearray-arraymap/
这个作者写的很多博文都不错,实在都是值得阅读的干货文,而且风格和别人完全不一样,都不是『使用』级别的知识
偏向原理类的居多,作者主要还是 JVM 平台上写的多,特别推荐此博客(虽然你们也没人看...... QAQ
这个作者写的很多博文都不错,实在都是值得阅读的干货文,而且风格和别人完全不一样,都不是『使用』级别的知识
偏向原理类的居多,作者主要还是 JVM 平台上写的多,特别推荐此博客(虽然你们也没人看...... QAQ
duangsuse::Echo
多个工具一起用也不是坏事
这倒是,你是什么时候开始用的 dnSpy?
哈哈,dotPeek 居然不被看作产品对待了 emmm 🙈
哈哈,dotPeek 居然不被看作产品对待了 emmm 🙈