Forwarded from 神奇的笔记 (神楽坂 立音)
https://t.me/solidot/5856
现在人都怎么了………
现在人都怎么了………
Telegram
Solidot
OpenJDK 代码被指含有太多的脏话
有人向开源 Java 实现项目 OpenJDK 递交 bug 报告,称源代码里含有太多的脏话,认为 OpenJDK 是在专业环境里使用的,包含脏话不合适,因此递交了变更集将这些脏话移除。IBM 的 OpenJDK 开发者 Adam Farley 作出了回应,表示在与社区讨论之后他们达成了三个决定:Damn 和 Crap 不是脏话;四个 fxxx 中的 三个位于 jszip.js 中,应该由上游修正;BitArray.java 和 SoftChannel.java…
有人向开源 Java 实现项目 OpenJDK 递交 bug 报告,称源代码里含有太多的脏话,认为 OpenJDK 是在专业环境里使用的,包含脏话不合适,因此递交了变更集将这些脏话移除。IBM 的 OpenJDK 开发者 Adam Farley 作出了回应,表示在与社区讨论之后他们达成了三个决定:Damn 和 Crap 不是脏话;四个 fxxx 中的 三个位于 jszip.js 中,应该由上游修正;BitArray.java 和 SoftChannel.java…
神奇的笔记
https://t.me/solidot/5856 现在人都怎么了………
现在来说,OpenJDK 的开发团队可能就是那种『技术疯子』一样的人多一些了。可能不是特别注意自己的语言话都很直,大家工作起来话可能都比较直但大概是没有什么特别的恶意的『如果一个人的技术很差,我们也只能说他技术很差』,OpenJDK 也不是属于前端项目,不是面向大部分人的,也没有必要在工作的时候刻意说话特别文明
不过现在他们都改了,这着实也不错,其实我有时候也在本频道上骂街不知道你们知不知道(
不过现在他们都改了,这着实也不错,其实我有时候也在本频道上骂街不知道你们知不知道(
duangsuse::Echo
🐱 Sticker
#Share #Reveng #Backend #Android #Radare2 #Decompiler #PL #CS #recommended
今天也不去完成之前那个跨平台 ABI 移植的问题了,专门研究一下
顺便写出一点调试用的示例 i686 汇编程序试试
顺便推荐动态指令工具 Frida 和反编译器 RetDec,都是跨平台的逆向分析工具(当然 Android 上动态分析 AndBug 也不错)
还有 Compiler Explorer 和 CTF Wiki 之类的
Radare 2 是著名的开源跨平台逆向分析框架,能够读取多种文件格式、支持很多动态分析调试器、有很多种前端(诸如 Qt 的 Cutter)可以使用,也可以远程调试,支持插件并且 CLI 非常方便,能够进行许多厉害的静态分析
堪比商业软件 IDA
R2 工程组里是有前端的,只不过他们比较喜欢推广 CLI Shell 而已,有些人可能认为 R2 没有前端只能用 CLI,实际上 R2 的 HTML 前端是非常友好的,也非常适合进行远程调试
这里 R2 在开源系逆向工程工具里的地位就好像类似于 KODI 在 Home Theater 软件里的地位了,真的是自由软件一家独大一样
其实有些人认为自由软件非常萎靡不振,永远不可能超过商业软件,单靠爱发电注定失败,其实谁又曾单单靠爱发电过,都是自己或许还有一组人业余时间弄的
真正厉害的自由软件都是后端应用,因为前端是面向用户的,后端是面向开发者的,开发者才会管你开不开源,而且,很多后端都是明白自己能到这一步,身后有大批自由软件的辅助的,包括开始替换 Amsterdam Compiler Kit 的 GNU Compiler Collection(GCC)
不感动才难。
而前端呢?很多前端的技能都是教钱给培训机构学的,或者,他们只能看到自己看文档、看博客时候的『努力』(其实,直白一点说,相比之前的人,你们的那点努力算什么?)。对他们来说,后面的都是各种各样的公司和大佬,自己是交了钱的,或者在『试用』他们的产品,或者觉得某某大佬很厉害,很多人根本不知道最开始的时候计算机世界是怎么样的,后来 Bill Gates 又商业化后又怎么样,不是说商业化不好,但现在很多前端不知道自己熟悉的环境背后有多少自由软件的暗中帮助,所以他们可能会对自由软件乃至开源都有偏见,认为永远不如商业软件
是相当方便的逆向工程和软件分析工具,当然那个分析和编译原理的编译优化分析无关,或许有关但关系不重要。
顺便给大家科普一下, #Android 上用 Radare 2 + R2HTTP 前端如何对 ARM/x86 native code 进行动态分析 #reveng
为了方便起见使用 Android-x86 虚拟机和 R2 的 HTTP 前端进行远程调试。
今天也不去完成之前那个跨平台 ABI 移植的问题了,专门研究一下
BEL 本来的定义是如何运行,指令们等价的代码是什么顺便写出一点调试用的示例 i686 汇编程序试试
顺便推荐动态指令工具 Frida 和反编译器 RetDec,都是跨平台的逆向分析工具(当然 Android 上动态分析 AndBug 也不错)
还有 Compiler Explorer 和 CTF Wiki 之类的
Radare 2 是著名的开源跨平台逆向分析框架,能够读取多种文件格式、支持很多动态分析调试器、有很多种前端(诸如 Qt 的 Cutter)可以使用,也可以远程调试,支持插件并且 CLI 非常方便,能够进行许多厉害的静态分析
堪比商业软件 IDA
R2 工程组里是有前端的,只不过他们比较喜欢推广 CLI Shell 而已,有些人可能认为 R2 没有前端只能用 CLI,实际上 R2 的 HTML 前端是非常友好的,也非常适合进行远程调试
这里 R2 在开源系逆向工程工具里的地位就好像类似于 KODI 在 Home Theater 软件里的地位了,真的是自由软件一家独大一样
其实有些人认为自由软件非常萎靡不振,永远不可能超过商业软件,单靠爱发电注定失败,其实谁又曾单单靠爱发电过,都是自己或许还有一组人业余时间弄的
真正厉害的自由软件都是后端应用,因为前端是面向用户的,后端是面向开发者的,开发者才会管你开不开源,而且,很多后端都是明白自己能到这一步,身后有大批自由软件的辅助的,包括开始替换 Amsterdam Compiler Kit 的 GNU Compiler Collection(GCC)
不感动才难。
而前端呢?很多前端的技能都是教钱给培训机构学的,或者,他们只能看到自己看文档、看博客时候的『努力』(其实,直白一点说,相比之前的人,你们的那点努力算什么?)。对他们来说,后面的都是各种各样的公司和大佬,自己是交了钱的,或者在『试用』他们的产品,或者觉得某某大佬很厉害,很多人根本不知道最开始的时候计算机世界是怎么样的,后来 Bill Gates 又商业化后又怎么样,不是说商业化不好,但现在很多前端不知道自己熟悉的环境背后有多少自由软件的暗中帮助,所以他们可能会对自由软件乃至开源都有偏见,认为永远不如商业软件
是相当方便的逆向工程和软件分析工具,当然那个分析和编译原理的编译优化分析无关,或许有关但关系不重要。
顺便给大家科普一下, #Android 上用 Radare 2 + R2HTTP 前端如何对 ARM/x86 native code 进行动态分析 #reveng
为了方便起见使用 Android-x86 虚拟机和 R2 的 HTTP 前端进行远程调试。
GitHub
GitHub - swdunlop/AndBug: Android Debugging Library
Android Debugging Library. Contribute to swdunlop/AndBug development by creating an account on GitHub.
#sysadmin #Learn #Regex http://wiki.jikexueyuan.com/project/unix/regular-expressions.html
https://www.gnu.org/software/sed/manual/html_node/Regular-Expressions.html
http://bbs.chinaunix.net/thread-764395-1-1.html
https://www.jianshu.com/p/7935fdcb17d0
Stream EDitor 使用
AWK 文字处理语言使用
https://en.wikipedia.org/wiki/AWK
https://blog.csdn.net/langwenjing/article/details/8174255
https://www.gnu.org/software/sed/manual/html_node/Regular-Expressions.html
http://bbs.chinaunix.net/thread-764395-1-1.html
https://www.jianshu.com/p/7935fdcb17d0
Stream EDitor 使用
AWK 文字处理语言使用
https://en.wikipedia.org/wiki/AWK
https://blog.csdn.net/langwenjing/article/details/8174255
www.gnu.org
Regular Expressions - sed, a stream editor
Next: Common Commands, Previous: Addresses, Up: sed Programs
#sysadmin 至于那个破电脑,我用 DiskGenius DOS 版自动修复了一下坏道(就是动态规划找到如何调整移动分区移动块以便在使用硬件坏道部位留下空白空间,不访问坏道部分即可)
然后现在还好,重启后 WinPE 能挂载 XP C: 盘 所在分区了
可惜电脑太卡,这点修复足足花了连续一晚上又(加起来又)一天的时间
然后现在还好,重启后 WinPE 能挂载 XP C: 盘 所在分区了
可惜电脑太卡,这点修复足足花了连续一晚上又(加起来又)一天的时间
另外一个五六年的破烂笔记本,着实是硬件的问题而且不是主板电容冻了, 比较麻烦而且我目前着实不擅长这类而且没时间
换了最好,反正硬盘又没坏
换了最好,反正硬盘又没坏
duangsuse::Echo
#Share #Reveng #Backend #Android #Radare2 #Decompiler #PL #CS #recommended 今天也不去完成之前那个跨平台 ABI 移植的问题了,专门研究一下 BEL 本来的定义是如何运行,指令们等价的代码是什么 顺便写出一点调试用的示例 i686 汇编程序试试 顺便推荐动态指令工具 Frida 和反编译器 RetDec,都是跨平台的逆向分析工具(当然 Android 上动态分析 AndBug 也不错) 还有 Compiler Explorer 和…
呃... 因为今天估计错了,然后现在要去上学 #school
所以赶快举个 r2 动态调试的例子来:赶快讲了你们学到了然后我就走的,那个下周说
(C 语言入门难度,真的)
首先我们的程序
然后它要返回 -1,就是说执行完
我们的 hack 是修改这个字符串,把它改成
然后是 在不使用额外参数(argc = 1)的时候打印这个字符串,然后让
... 好像没有时间了,明天回来再更
所以赶快举个 r2 动态调试的例子来:赶快讲了你们学到了然后我就走的,那个下周说
(C 语言入门难度,真的)
首先我们的程序
#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;
}
其中 strcpy(str, msg) 是把常量 msg 复制到 str 这个 malloc() 堆分配好的容器里,约等于 C \00 结尾字符串的 *dst = *src
然后这个程序就是 argc 数目大于 1 才会打印字符串,就是说 ./hck (['./hck'])不会打印 ./hck foo (['./hck', 'foo'])会然后它要返回 -1,就是说执行完
$? 就是 255(因为一个 8 位的二进制下溢了,最小值是 0 最大值是 255)我们的 hack 是修改这个字符串,把它改成
duangsuse 笨蛋(吐槽:这么自轻自贱么)然后是 在不使用额外参数(argc = 1)的时候打印这个字符串,然后让
main() 返回 0 而不是 -1gcc hack_me.c -o hck -g # 编译然后我们来打开 radare2,hack 它
./hck # 应该无输出退出
echo $?
#=> 255
./hck foo
#=> duangsuse 菜鸡
[DuangSUSE@duangsuse]~/Projects/reveng% r2 hckthen
-- I accidentally the kernel with radare2.
[0x004004a0]>
doo # 开始调试然后我们试试第一个 hack 有没效果
d main # 在 main 入口处处中断
dr # 找到 rsp
# 然后我们 seek 到 rsp
0x7ffc42efd520
*rsp # 输出 0x1,就是 argc
*rsp = 2 # 随便弄个大于 1 的数,这里暂时不教大家怎么修改程序逻辑,暂时教怎么获取和修改数据
[0x7ffc42efd520]> dc
hit breakpoint at: 400586
[0x00400586]> dc
duangsuse 菜鸡
[0x7f2182d35f96]> dc
child exited with status 255
==> Process finished
下一个,main() 返回修改为 0... 好像没有时间了,明天回来再更