0%

转载自: https://www.cnblogs.com/lanxuezaipiao/p/3635556.html

JNA简单介绍

先说JNI(Java Native Interface)吧,有过不同语言间通信经历的一般都知道,它允许Java代码和其他语言(尤其C/C++)写的代码进行交互,只要遵守调用约定即可。首先看下JNI调用C/C++的过程,注意写程序时自下而上,调用时自上而下。 JNI.png

可见步骤非常的多,很麻烦,使用JNI调用.dll/.so共享库都能体会到这个痛苦的过程。如果已有一个编译好的.dll/.so文件,如果使用JNI技 术调用,我们首先需要使用C语言另外写一个.dll/.so共享库,使用SUN规定的数据结构替代C语言的数据结构,调用已有的 dll/so中公布的函 数。然后再在Java中载入这个库dll/so,最后编写Java native函数作为链接库中函数的代理。经过这些繁琐的步骤才能在Java中调用 本地代码。因此,很少有Java程序员愿意编写调用dll/.so库中原生函数的java程序。这也使Java语言在客户端上乏善可陈,可以说JNI是 Java的一大弱点!

阅读全文 »

这不前几天用 TTL 把我的车中控车机给破解了嘛,目前装了 嘟嘟桌面高德地图车机版、腾讯地图车机版、QQ音乐车载版酷狗音乐车载版、ES文件浏览器、HDP直播via浏览器等软件。经过几天的摸索,完成了软件的优化配置,已经达到了比较好的体验。

这里着重强调一下 嘟嘟桌面 这个软件,做得很好啊!还免费给用户使用,业界良心。并且能够适配多种地图软件,多种音乐播放器!最最最牛批的是,还是适配了各种车辆的方控,恰好我的车辆的方控也能支持!完美!

不过,这个系统还有一点问题如芒刺背,那就是不能通过用户界面安装软件。由于我没得进行硬解,所以每次装卸软件只能先连接 WiFi 通过远程 adb 来操作,十分不友好!

我也试了使用 adb 终端的 pm 命令,也是不能。但是给了我一条很重要的信息 “INSTALL_FAILED_INTERNAL_ERROR”,他不是常见的什么签名冲突啊,版本不匹配啊之类的,来自程序员的直觉告诉我这系统是故意设计成这样的。

简单来说就是我认为这不是真的故障,而是厂家为了保护系统故意设计成不可安装,原因是在某处设置了障碍。

阅读全文 »

Termux 是什么

Termux is a terminal emulator and Linux environment bringing powerful terminal access to Android.

Termux 是运行在 Android 上的 terminal。不需要root,运行于内部存储(不在SD卡上)。

自带了一个包管理器,可以安装许多现代化的开发和系统维护工具。比如:

  • neovim
  • tmux
  • zsh
  • clang
  • gcc
  • weechat
  • irssi

由于 0.73 版本是支持 Android 7 以下设备的最后一个版本,且新老版本设置镜像源的方式还不同,分开描述。

阅读全文 »

这篇文章以描述过程为主,且针对的车机是和我一样的 酷联或智联 带车联网的车机。在最后总结处有提炼的精华,有需要的可以先行阅读理清步骤,便于理解我的笔记。

最近车友群里有消息说 CS35Plus 使用飞思卡尔平台的车机被破解了,打破了我对车机的佛系态度。

这个车机买来我也是经过一番折腾的,什么 USB 主机模式、反编译隐藏指令、WIFI ADB 等都试过,完全不按套路出牌,更可恶的是系统内确实预留了隐藏指令的,看反编译出来的功能描述也是用来打开 USB 主机模式的,但无耻的就是开不了。

这不求证了一下这条消息的真实性,发现真的能搞,和对方简单沟通了一下方案,说是用的飞思卡尔的工程线实现的,大概是先破解 Recovery 的签名验证,然后通过,甚至可以做到救砖,牛逼。

不过这个方案需要拆主机邮寄给他搞,因为他才有那条工程线并且那工程线不便宜,内心是拒绝的,我就是想白嫖啊喂,并且拆主机很麻烦而且会伤内饰啊!经过一周的思想斗争,这个周末觉得管他三七二十一管他怎么样,先拆下来在说。

其实周五下班之后我就去试着拆了一下了,TMD 不是一般的难拆,内饰已经留下不少“强X的痕迹”,周六收到破解群的思想轰炸影响,又去干了一番。。。

最终,拆下来了,而且还有惊喜~!

阅读全文 »

转载自: https://blog.csdn.net/allway2/article/details/107546648

安装NFS软件包

NFSDebian 上安装非常简单。它已连接到内核,并且是一个通用软件包。您可以从主存储库安装所需的一切。

1
$ sudo apt install nfs-kernel-server

配置您的共享

首先创建要共享的目录或选择一个现有目录。确保您选择的目录没有仅root用户权限。

接下来,/etc/exports 使用您喜欢的文本编辑器打开。这是您用来设置共享的文件。在这里,您可以配置要共享的目录以及谁可以访问它们。您还可以为共享设置特定权限,以进一步限制访问。

在文件中,每个共享都有自己的行。该行从共享在服务器计算机上的位置开始。除此之外,您可以列出接受的客户端的主机名(如果在服务器的主机文件中可用),IP或IP范围。将共享规则直接放在IP地址后面的一组括号中。总共应该看起来像这样:

1
/media/nfs    192.168.1.0/24(rw,sync,no_subtree_check)

您可以根据需要添加任意数量的共享,前提是每个共享都有自己的行。您还可以在每一行中包含多个主机名或IP,并为它们分配不同的权限。例如:

1
/media/nfs    192.168.1.112(rw,sync,no_subtree_check) 192.168.1.121(ro,sync,no_subtree_check)

在这种情况下,每台计算机都可以查看共享并从中读取内容,但是只有 192.168.1.112 该处的计算机可以对其进行写入。

您可以选择很多其他选项,以配置服务器处理每个来宾共享的方式。这是可用功能的完整细分:

  • ro:指定目录只能以只读方式挂载
  • rw:授予对目录的读写权限
  • no_root_squash:这是一个非常危险的选项,它允许远程 root 用户与主机的 root 用户享有相同的特权
  • subtree_check:指定在导出目录而不是整个文件系统的情况下,主机应验证主机文件系统上文件和目录的位置
  • no_subtree_check:指定主机不应检查通过主机文件系统访问的文件的位置
  • sync:这只是确保主机使上传到共享目录的所有更改保持同步
  • async:忽略同步检查以提高速度 完成所需设置后,保存并退出文件。然后,重新启动服务器以加载您的新exports配置。
1
$ sudo systemctl restart nfs-kernel-server

连接到共享

现在可以从在中配置的客户端计算机访问共享 exports。假设您的客户端基于 UbuntuDebian,则可以安装所需的软件包以进行连接:

1
$ sudo apt install nfs-common

这样,您就可以挂载NFS共享。因此,要进行尝试,请选择要安装的目录,然后 mountroot 特权运行命令以安装网络共享。

1
$ sudo mount -t nfs4 192.168.1.110:/media/nfs /media/share

如果安装成功,您将可以在安装共享文件的目录中访问共享文件。

要获得更永久的解决方案,可以将共享添加到客户的 /etc/fstab 文件中。整体语法看起来很像刚用来挂载共享的命令。从网络上共享的位置开始。然后,在其中安装共享。这里的文件系统类型是 nfs4。选项由您决定,但是对于不敏感的共享,使用默认设置并允许用户访问是很常见的。最终结果应类似于以下示例。

1
192.168.1.110:/media/nfs      /media/share nfs4 defaults,user,exec  0 0

如果不确定共享在客户端上是否始终可用,请添加noauto到选项列表中以防止系统尝试自动挂载它。

1
192.168.1.110:/media/nfs      /media/share nfs4 defaults,user,exec,noauto     0 0

尝试使用安装在客户端上/etc/fstab。

1
$ sudo mount -a

您的共享应该完全安装在您指定的位置。

结论

现在,您的 Debian 服务器已准备就绪,可以开始提供文件了,并且设置其余客户端计算机应该没有任何问题。请记住,NFS的安全性不高,因此,如果您选择共享任何更敏感的内容,则将需要其他方法来限制对文件的访问。

昨天微软在 Windows 11 预览版正式发布了 Windows Subsystem for Android (WSA), 作为 Android 开发工程师, 这必须体验一波啊.

笔者用的笔记本硬件平台有点老, 是 MSI GE60, 差不多 2013 年左右的机器了, 理论上自然是满足不了微软的 Windows 11 最低要求要求. 但微软向来就是 嘴上巨硬, 实际微软, 这次也不例外, 通过一些手段还是能够在我这个老机器上面跑起来, 并且也能顺利的更新补丁.

微软发布的安装 Windows 11 的最低系统要求:
https://www.microsoft.com/zh-cn/windows/windows-11-specifications

阅读全文 »

  • GM(General Manager)
    总经理
  • VP(Vice President)
    副总裁
  • FVP(First Vice President)
    第一副总裁
  • AVP(Assistant Vice President)
    副总裁助理
  • CEO(Chief Executive Officer)
    首席执行官,类似总经理、总裁,是企业的法人代表
  • COO(Chief Operations Officer)
    首席运营官,类似常务总经理
  • CFO(Chief Financial Officer)
    首席财务官,类似财务总经理
  • CIO(Chief Information Officer)
    首席信息官,主管企业信息的收集和发布
  • CTO(Chief technology officer)
    首席技术官,类似总工程师
  • HRD(Human Resource Director)
    人力资源总监
  • OD(Operations Director)
    运营总监
  • MD(Marketing Director)
    市场总监
  • OM(Operations Manager)
    运作经理
  • DM(Department Manager)
    部门经理
  • PM(Product Manager/Production Manager)
    产品经理/生产经理
  • PM(Project Manager)
    项目经理
  • PL(Project Leader)
    项目组长
  • TM(Team Manager)
    团队经理
  • TL(Team Leader)
    团队组长
  • SE(System Engineer)
    系统工程师

Frida 是一款轻量级 HOOK 框架,可用于多平台上,例如 AndroidWindowsiOS 等。
Frida 分为两部分,服务端运行在目标机上,通过注入进程的方式来实现劫持应用函数,另一部分运行在系统机器上。
Frida 上层接口支持 jspythonc 等。
Frida 官方 Github 地址为:Frida 官方 Github 地址

阅读全文 »

这几天为了搞个微信机器人, 在 Node.jsPython 之中纠结来纠结去, 最终由于 Node.js 复杂的依赖处理放弃了, 选择了 Python, 花了些时间搞了几天, 突然发现当初因为感觉 Python 是门胶水语言而对它嗤之以鼻, 现在真是追悔莫及.

讲道理, Python 确实香, 平时想搞个小工具, 一直都是轻量的 shell 重量的 java/kotlin, kotlin 虽好但架不住需要专门安装运行时环境, 并且 jvm 内存消耗大, 自己的羊毛服务器稍微跑几个 jvm 内存就所剩无几, 直到这几天用 Python 搞出来了这个微信机器人, 才发现这不是就是我一直在找的东西吗?

  • 简单上手快
  • 消耗内存小
  • 能写带界面的程序
  • 支持编译为可执行文件
  • Node.js 比较安装依赖简洁且包体积小

综上所述, 简直是用来作为一个工具语言的首选!

好了, 切入正题, 开个文章来记录一下 Python 使用上的一些常用但容易忘的内容.

阅读全文 »

Linux 下有很多文本编辑器,其中系统(不管哪个分支)都会自带 Nanovi 这两个最基本的编辑器。vi 相比升级版 vim 并不是那么丝滑。今天将重点介绍一下 Nano 的功能及用法。

阅读全文 »