草庐IT

tidy_ffi

全部标签

PHP7.4 FFI 扩展安全问题

 在前面[极客大挑战2020]的Roamphp5-FighterFightsInvincibly题,遇到了FFI扩展调用函数进行rcetobypassdisable_function,之前没遇见过,刚好借此机会学一学目录PHP7.4FFI简介FFI配置信息FFI简单利用演示(1)FFI::cdef方法(2)FFI::new方法(3)FFI::load方法利用FFI:cdef绕过disabled_function进行rceCTF应用(1)[RCTF2019]Nextphp(FFI::cdef&Serialize接口&curl外带结果)(2)TCTF2020easyphp(FFI::load利用)

go mod tidy报错:zip: not a valid zip file

goget报错:zip:notavalidzipfile具体报错:User@3-WIN10BG0088MINGW64/d/Users/WorkSpace/Go/projects/gin-study$gogetgithub.com/gin-gonic/gingo:downloadinggithub.com/gin-gonic/ginv1.9.1go:github.com/gin-gonic/gin:zip:notavalidzipfileUser@3-WIN10BG0088MINGW64/d/Users/WorkSpace/Go/projects/gin-study$goenv|grepPROX

Flutter Dart FFI Pointer<Uint8>类型如何转成数组或String

前言继上一次发布的Flutter直接调用so动态库,或调用C/C++源文件内函数内容,最终我选择了第二种方式,直接把整个NativeC++的项目源代码放进了Flutter工程里编译(放在iOS的目录是因为它不支持自定义源码路径,Android是可以的)。这样的好处是Android和iOS两个平台都不需要分别再去写原生代码调用.so文件,也不用关注动态库平台,而且改动更方便。编译时Android侧会生成指定平台的.so文件(Gradle里配置),iOS侧会生成指定平台的.a文件(XCode里配置)背景Flutter的项目里需要调用C++进行APDU指令的操作和传输,APDU也就是一串16进制编码

go mod tidy 报错:x509: certificate signed by unknown authority 最佳实践

最近在docker中运行了一个ubuntu20的系统,在上面运行golang程序,使用gomodtidy后报错:tls:failedtoverifycertificate:x509:certificatesignedbyunknownauthority如:go:findingmoduleforpackagegoogle.golang.org/grpc/credentials/insecurego:findingmoduleforpackagegithub.com/shopspring/decimalgo:findingmoduleforpackagegithub.com/stretchr/te

windows - 传递 CString 后跟 int 时 FFI 中的错误

我的Rust测试代码extern"C"{fntest_int_only(n:libc::c_int);fntest_int_and_str(s:CString,n:libc::c_int);}pubfntest1(){unsafe{test_int_only(0);test_int_only(1);test_int_only(2);test_int_only(4);test_int_only(-12);}}pubfntest2(){unsafe{test_int_and_str(CString::new("Foo").unwrap(),0);test_int_and_str(CStri

关于electron中使用ffi-napi窗口遍历的过程及问题

使用环境:electorn19、node16、ffi-napi、user32前言:这里先提一嘴,windowsapi也是有32位和64位的区别的,因为我是要快速完成项目,就没用C++写(不熟练),我想着直接用易语言写DLL,但易语言从来就只有32位,也就是编译出来的DLL也是32位的,导致我的node也必须要跟着切到32位才能使用易语言编译出来的DLL,因此就有了现在这个问题。问题开始:在原先的项目中,我使用的是64位的user32,在这里我们通常会使用EnumWindows这个api去遍历当前打开的所有窗口,代码如下constenumWindows=(callback)=>{user32.E

go mod tidy总是安装最新依赖,如何查找哪个模块导致某个包安装最新依赖,提供一个小工具

安装:goinstallgithub.com/jan-bar/interesting/findModVer@latest执行:findModVerd:\myproject结果如下图所示:根据结果可以找到哪个依赖导致google.golang.org/grpcv1.45.0使用了这个版本,这样每次执行gomodtidy会自动修改该模块到v1.45.0版本。我看了下github.com/spf13/viperv1.11.0就是用的google.golang.org/grpcv1.45.0版本,因此我可以通过限制viperv1.11.0来限制grpcv1.45.0,这时候执行gomodtidy就会限

节点FFI回调来自C ++线程

我今天遇到了一个令人沮丧的问题。我正在与之合作node-ffi在我的电子应用程序中运行C++代码。总的来说,我有很好的经验,但是我今天开始从事多线程工作,并遇到了一些困难。这ffi我传递的回调是从线程调用的。但是,当我结束循环并尝试join循环线程到主线程,它完全冻结了电子应用程序。全部免责声明:我对C++非常陌生,并感谢您对我的代码进行改进的任何反馈,尤其是您认为我应该知道的任何危险信号。这是两个回购,证明了我遇到的错误:电子项目-https://github.com/jakedluhy/threading-testC++DLL-https://github.com/jakedluhy/th

【教程】Flutter与Rust完美交互,无需手写FFI代码

实践环境:Windows11flutter_rust_bridge官方文档Flutter环境配置教程|Rust环境配置教程新建一个全新的Flutter项目并运行:fluttercreateexample&&cdexample&&flutterrun在Flutter项目根目录新建一个Rust项目:cargonewnative--lib目录结构大概是这样的:接下来,将这两行添加到 Cargo.toml:[lib]crate-type=["staticlib","cdylib"][dependencies]flutter_rust_bridge="1.78.0"[build-dependencies

开始时的 HTML Tidy 剥离空间

文件.htmlwordratti命令$tidyFile.html输出wordratti期望的输出wordratti空间在哪里?日志line1column1-Warning:missingdeclarationline1column1-Warning:plaintextisn'tallowedinelementsline1column8-Warning:isprobablyintendedasline1column5-Warning:replacingunexpectedspanbyline1column33-Warning:discardingunexpectedline1column