function example() {
something();
// (
function () {
console.log('Foo');
} /* ) */ ();
return this;
}ReturnStatement = return (#(spacesNoNL ~space) Expression<withIn>)? #sc
CallExpression
|MemberExpression Arguments -- memberExpExp
FunctionExpression
| function "(" FormalParameterList ")" "{" FunctionBody "}" -- anonymous
Arguments = "(" ListOf<AssignmentExpression<withIn>, ","> ")"
Rachel 碎碎念
想趁着放假试试用 Shizuku Manager 开发,Ubuntu 打不开了…悲伤的故事 — Rachel (ノД`)シクシク (@tangrui003) September 23, 2018
#tech #android
科普一下 Shizuku
@RikkaW 开发的软件框架
在 Android 系统中,许多 API 需要应用是系统应用或拥有框架签名才能调用。
Shizuku 可以使普通应用可以通过与自己的服务交互来调用自身无权调用的 API
不过,为了避免 Shizuku Server 被恶意应用调用,普通应用需要先向 Shizuku Manager 请求授权后才能使用。
Shizuku 可以在拥有 root 访问权限或者 ADB 的设备上使用。
Riru
Riru 是一个简单但有用的东西。仅需要替换一个系统文件,就可以让 Riru 模块们进入应用进程或系统服务进程并执行他们的代码。
Riru 可以用来在某些特定应用里暴力替换掉一些原生函数逻辑,类似于 Xposed,也是 @RikkaW 开发
科普一下 Shizuku
@RikkaW 开发的软件框架
在 Android 系统中,许多 API 需要应用是系统应用或拥有框架签名才能调用。
Shizuku 可以使普通应用可以通过与自己的服务交互来调用自身无权调用的 API
不过,为了避免 Shizuku Server 被恶意应用调用,普通应用需要先向 Shizuku Manager 请求授权后才能使用。
Shizuku 可以在拥有 root 访问权限或者 ADB 的设备上使用。
Riru
Riru 是一个简单但有用的东西。仅需要替换一个系统文件,就可以让 Riru 模块们进入应用进程或系统服务进程并执行他们的代码。
Riru 可以用来在某些特定应用里暴力替换掉一些原生函数逻辑,类似于 Xposed,也是 @RikkaW 开发
duangsuse::Echo pinned «#dev #android #recommended #frontend #web Android 圆形展开/关闭动画 Android 控件圆角 CSS 圆圈背景 { border-radius: 3px; // webkit -webkit-border-radius // gecko -moz-border-radius }»
YSC 的频道
推广一下我正在开发的一个软件 NoScreenCap,可以将窗口设为禁止截图。支持 Win7 及以上系统。 https://github.com/ysc3839/NoScreenCap 目前只有命令行版本。
(代码注入
支持 Windows 所支持的两种 x86、x86_64 架构
是直接注入机器代码(redpill) 然后 CreateRemoteThread() 执行
支持 Windows 所支持的两种 x86、x86_64 架构
是直接注入机器代码(redpill) 然后 CreateRemoteThread() 执行
// bool SetWindowDisplayAffinityForExternelProcess(HWND hWnd, DWORD affinity)
void *code_address = VirtualAllocEx(hProcess, nullptr, CODE_SIZE, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if (code_address)
// HANDLE WriteAndExecuteCode(HANDLE hProcess, void *code_address, void *code, size_t code_size, void *parameter = nullptr)
CreateRemoteThread(hProcess, nullptr, 0, reinterpret_cast<LPTHREAD_START_ROUTINE>(code_address), parameter, 0, nullptr);
duangsuse::Echo
(代码注入 支持 Windows 所支持的两种 x86、x86_64 架构 是直接注入机器代码(redpill) 然后 CreateRemoteThread() 执行 // bool SetWindowDisplayAffinityForExternelProcess(HWND hWnd, DWORD affinity) void *code_address = VirtualAllocEx(hProcess, nullptr, CODE_SIZE, MEM_COMMIT, PAGE_EXECUTE_READWRITE);…
(不过,不知道不注入机器代码而只是 CreateRemoteThread 然后用本进程的 procedure 可不可能实现(就不需要再专门放置已编译机器代码了),
据说可能可以,但要在别的进程注入自己使用的字符串引用
可惜这里没有 Windows 环境所以不可能测试了
据说可能可以,但要在别的进程注入自己使用的字符串引用
可惜这里没有 Windows 环境所以不可能测试了
duangsuse::Echo
(也是在 @AndroidDevCN 里我知道 plt 是 Procedure Linkage Table 的意思( objdump -d -j .plt /lib64/libc.so.6
Android Dev CN 有不少都是真 dalao,包括冯老师、Ghost Flying、Rikka 等
可不仅仅会个 Android 前端(当然他们是会自己绘制 View、创建 Animation 以及讨论常规 OOP 编程问题哪种解决方式更优雅的大佬级别),对 Andriod JNI 甚至 Android 底层都有所了解
可不仅仅会个 Android 前端(当然他们是会自己绘制 View、创建 Animation 以及讨论常规 OOP 编程问题哪种解决方式更优雅的大佬级别),对 Andriod JNI 甚至 Android 底层都有所了解
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (Yuuta)
GitHub
Trumeet/awesome-greasemonkey-scripts
🐵 Awesome Greasemonkey Scripts! . Contribute to Trumeet/awesome-greasemonkey-scripts development by creating an account on GitHub.
(好了谈正事 #project
放假只放中秋节一天...
整个的列表太大这里就不说了,只看假期做的
首先是一个 C 头文件,
“中文编程” 233333 🙈 当然只是语法结构上的,C 不支持非 ASCII 码内的标识符,百搭
然后是 Gekyll
放假只放中秋节一天...
整个的列表太大这里就不说了,只看假期做的
首先是一个 C 头文件,
chinese.h“中文编程” 233333 🙈 当然只是语法结构上的,C 不支持非 ASCII 码内的标识符,百搭
然后是 Gekyll
duangsuse::Echo
我看来 NLP 最好也是最直接的应用就是创建 chatbot 了,但做出一个好的 chatbot 很难 现在的 chatbot 基本都是字典机,他们很有趣但也很无聊,因为有些问题总是回答不上来,有些问题只会给你一个答案,非常死板单调,有门专门的 chatbot 语言叫 RiveScript,可以去看看 + i am * - I am <formal> too. 他们没有脑子,他们不会思考,他们只是简单的基于字符串匹配而成的机器罢了,每个新功能都得人类为它定义,它才会「学会」这个新技巧 参考 Turling123.com…
(NLP 单靠解析无法识别的部分就像 DNA 链里的非编码序列一样
如何才能理解这些像是嵌入在语言里的其他格式的数据一样的东西呢
如何才能理解这些像是嵌入在语言里的其他格式的数据一样的东西呢
duangsuse::Echo
(好了谈正事 #project 放假只放中秋节一天... 整个的列表太大这里就不说了,只看假期做的 首先是一个 C 头文件, chinese.h “中文编程” 233333 🙈 当然只是语法结构上的,C 不支持非 ASCII 码内的标识符,百搭 然后是 Gekyll
Telegram
duangsues.is_a? SaltedFish
+ 首先让我解释对 Fushion App 的看法...
也是一个寒歌的作品,我觉得挺好的,虽然之前我明显不是这么想,但现在我明显是这个态度(
+ Gekyll
如题,是一个老项目的翻盘作吧,上周有新动态,可惜依然不完成
这次已经基本想好了,准备彻底整装待发,明天早上写 HTML templates
lib.rb 里放置生成器具后端(填充、输出到文件)的实现,而 CLI 类则负责其前端(设置后端生成器对象,启动生成过程),启动脚本文件只负责控制权转交 CLI 类
因为我的时间毕竟有限而且事有多所以...…
也是一个寒歌的作品,我觉得挺好的,虽然之前我明显不是这么想,但现在我明显是这个态度(
+ Gekyll
如题,是一个老项目的翻盘作吧,上周有新动态,可惜依然不完成
这次已经基本想好了,准备彻底整装待发,明天早上写 HTML templates
lib.rb 里放置生成器具后端(填充、输出到文件)的实现,而 CLI 类则负责其前端(设置后端生成器对象,启动生成过程),启动脚本文件只负责控制权转交 CLI 类
因为我的时间毕竟有限而且事有多所以...…
#backend #recommended
推荐两款 ANTLR 386 语法文件
MASM x86 汇编器语法
Intel 8086 汇编器语法.
推荐两款 ANTLR 386 语法文件
MASM x86 汇编器语法
Intel 8086 汇编器语法.
.386
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
szCaption db 'Hello', 0
szText db 'Hello, World!', 0
.code
start:
invoke MessageBox, NULL, offset szText, offset szCaption, MB_OK
invoke ExitProcess, NULL
end start
GitHub
antlr/grammars-v4
Grammars written for ANTLR v4; expectation that the grammars are free of actions. - antlr/grammars-v4
#PL #recommended #CS
https://sourceware.org/binutils/docs-2.31/as/index.html
GNU AS (binutils 2.31) 的手册
https://sourceware.org/binutils/docs-2.31/as/index.html
GNU AS (binutils 2.31) 的手册
https://www.gnu.org/software/libjit/doc/libjit_2.html#Features
LibJIT 也是一个 JIT 库
LibJIT 也是一个 JIT 库
#include <jit/jit.h>
int compile_mul_add(jit_function_t function)
{
jit_value_t x, y, z;
jit_value_t temp1, temp2;
x = jit_value_get_param(function, 0);
y = jit_value_get_param(function, 1);
z = jit_value_get_param(function, 2);
temp1 = jit_insn_mul(function, x, y);
temp2 = jit_insn_add(function, temp1, z);
jit_insn_return(function, temp2);
return 1;
}
int main(int argc, char **argv) {
jit_function_t function;
jit_context_t context;
context = jit_context_create();
jit_context_build_start(context);
jit_function_set_on_demand_compiler(function, compile_mul_add);
jit_type_t params[3];
jit_type_t signature;
params[0] = jit_type_int;
params[1] = jit_type_int;
params[2] = jit_type_int;
signature = jit_type_create_signature
(jit_abi_cdecl, jit_type_int, params, 3, 1);
function = jit_function_create(context, signature);
jit_function_compile(function);
jit_context_build_end(context);
jit_int arg1, arg2, arg3;
void *args[3];
jit_int result;
arg1 = 3;
arg2 = 5;
arg3 = 2;
args[0] = &arg1;
args[1] = &arg2;
args[2] = &arg3;
jit_function_apply(function, args, &result);
printf("mul_add(3, 5, 2) = %d\n", (int)result);
}
看来比较老,它的 Ruby 绑定已经不支持最新的 MRI 2.6,最新的 MRI 已经不用 Fixnum 了
而且是老到 MRI 已经不向前兼容了...
而且是老到 MRI 已经不向前兼容了...
CRuby 的
看来 LibJIT 虽然曾经维护良好,但是比较老了,也缺少贡献者更新绑定
Feature #12005: Unify Fixnum and Bignum into Integer
Fixnum 和 Bignum 2.4 时早合并成 Integer 了 🙈看来 LibJIT 虽然曾经维护良好,但是比较老了,也缺少贡献者更新绑定
#ifndef RUBY_INTEGER_UNIFICATIONruby/ruby #ed75b6b Integer unification macro
RUBY_EXTERN VALUE rb_cFixnum;
#endif
Feature #12005: Unify Fixnum and Bignum into Integer
GitHub
Integer unification macro · ruby/ruby@c071c05
* include/ruby/ruby.h (RUBY_INTEGER_UNIFICATION): macro to tell if
Integer is integrated. [ruby-core:75718][Bug #12427]
* include/ruby/backward.h, internal.h (rb_cFixnum, rb_cBignum):
fallback...
Integer is integrated. [ruby-core:75718][Bug #12427]
* include/ruby/backward.h, internal.h (rb_cFixnum, rb_cBignum):
fallback...