首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏柒八九技术收纳盒

    Vite Plugin Just so so

    大家好,我是「柒八九」。一个「专注于前端开发技术/Rust及AI应用知识分享」的Coder

    84510编辑于 2024-05-17
  • 来自专栏王的机器

    SOFR, So Far ... So Good?

    SOFR, So Far So good.

    10.4K63发布于 2019-07-30
  • 来自专栏全栈程序员必看

    反编译so库破解so

    所以想破解so,将对i2c num 的大小改大点。 from=sec (2)实战预热 https://blog.csdn.net/m0_37766442/article/details/72903385 一、反编译so 使用IDA打开so 根据log信息或猜测查找需要破解的大致位置 我们看到上方有一个 loc_82036,这代表一段代码的标签处,类似C里面goto 的标签,那肯定其他地方会向这个标签做跳转 选中这个标签,右击 点击红框选项,就会列出所有向此处跳转的地方,这个so, 点中CMP R0,#6的地址处,然后切换到HEX View Hex VIEW 可以切换数据格式,64位so用4字节格式,32位so用2字节格式 我们需要将CMP R0,#6 改成CMP R0,#8 ,跳转到这一地址 我们将06改成08保存 替换so,不再打印那个错误log,读正常了,但是写还有问题,同样的方法修改I2C写操作里的值,问题解决 发布者:全栈程序员栈长,转载请注明出处:https:

    5.5K30编辑于 2022-07-04
  • 来自专栏10km的专栏

    cuda:Missing recommended library: libGLU.so,libX11.so,libXi.so,libXmu.so

    时可能有下面的信息 Installing the CUDA Toolkit in /usr/local/cuda-8.0 … Missing recommended library: libGLU.so Missing recommended library: libX11.so Missing recommended library: libXi.so Missing recommended library: libXmu.so 原因是缺少相关的依赖库,安装相应库就解决了: sudo apt-get install freeglut3-dev build-essential libx11 LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf

    3.4K60发布于 2018-01-03
  • 来自专栏韩曙亮的移动开发专栏

    【Android 逆向】Android 中常用的 so 动态库 ( libdvm.so | libart.so | libandroid_runtime.so | libandroidfw.so )

    文章目录 一、Android 虚拟机涉及的 libdvm.so 动态库 和 libart.so 动态库 二、Android 运行时相关 libandroid_runtime.so 动态库 三、Android Framework 层 Native 实现相关 libandroidfw.so 动态库 一、Android 虚拟机涉及的 libdvm.so 动态库 和 libart.so 动态库 ---- libdvm.so ; 执行 cp /system/lib/libart.so /sdcard/Pictures 命令 , 将 libart.so 动态库拷贝到 /sdcard/Pictures 目录 , 之后可以将其拷贝到文件系统 , 使用 64 位 IDA 分析该动态库 ; 二、Android 运行时相关 libandroid_runtime.so 动态库 ---- libandroid_runtime.so 是 Android 层的 Native 实现部分的动态库 , 执行 cp /system/lib/libandroidfw.so /sdcard/Pictures 命令 , 将 libandroidfw.so 动态库拷贝到

    4K20编辑于 2023-03-29
  • 来自专栏子云笔记

    .so注入

    libselinux.soclient:$(CC) -fPIC client.c -shared -o client.soconfig:@python config.py > const.hlibselinux.so $(CC) -fPIC -g -c azazel.c pam.c xor.c crypthook.c pcap.c$(CC) -fPIC -shared -Wl,-soname,libselinux.so INSTALL)@test -d $(INSTALL) || mkdir $(INSTALL)@echo [-] Installing azazel @install -m 0755 libselinux.so $(INSTALL)/@echo [-] Injecting azazel@echo $(INSTALL)/libselinux.so > /etc/ld.so.preloadclean:rm libselinux.so

    94950编辑于 2022-11-16
  • 来自专栏全栈程序员必看

    什么是.so文件_安卓so文件作用

    so文件是Linux下的程序函数库,即编译好的可以供其他程序使用的代码和数据 linux下何谓.so文件: 用过windows的同学应该都知道 .dll文件吧, 这二者有什么共通之处呢,其实 .so文件就跟 .dll文件差不多 一般来说.so文件就是常说的动态链接库, 都是C或C++编译出来的。 与Java比较就是:它通常是用的Class文件(字节码) Linux下的.so文件时不能直接运行的,一般来讲,.so文件称为共享库 那么.so文件是怎么用的呢? for example:  (1) 动态库的编译 这里有一个头文件:so_test.h,三个.c文件:test_a.c、test_b.c、test_c.c,我们将这几个文件编译成一个动态库:libtest.so -ltest -o test 注:测试是否动态连接,如果列出libtest.so,那么应该是连接正常了  -L.

    4.6K30编辑于 2022-11-05
  • 来自专栏Android逆向

    Unidbg调试so

    在Frida高级篇-免ROOT使用Frida(不修改源代码) 中对elf文件进行了介绍,本文使用unidbg模拟执行so来分析native方法。首先来介绍Unicorn。 "), false); // 加载libttEncrypt.so到unicorn虚拟内存,加载成功以后会默认调用init_array等函数 dm.callJNI_OnLoad(emulator if (logging) { Symbol sbox0 = module.findSymbolByName("sbox0"); // 在libttEncrypt.so // 加载xHook,支持Import hook,文档看https://github.com/iqiyi/xHook xHook.register("libttEncrypt.so (emulator, originFunction); } }); xHook.register("libttEncrypt.so

    2.6K40发布于 2021-08-24
  • 来自专栏python3

    python学习----------so

        网络上的两个程序通过一个双向的通信连接实现的数据交换,这个连接的一端称为socket,socket通常也叫做"套接字",用来描述ip地址和端口,是一个通信连的句柄,可以实现不同虚拟机和计算机之间的通信。一般在Internet上的主机运行了多个软件服务,同时提供多种服务,每一种服务都打开一个socket,并且绑定到一个端口上,不同的端口对应不同的服务。

    1.6K10发布于 2020-01-08
  • 来自专栏快乐阿超

    readme.so

    ──斯蒂芬·茨威格 分享一个网站可以很方便地编写readme:https://readme.so/ 只需要点击左侧的标签,即可生成相应模板 非常方便和好用

    42110编辑于 2022-12-31
  • 来自专栏全栈程序员必看

    so文件在线加固加密_安卓so文件解密

    大家好,又见面了,我是你们的朋友全栈君 这篇是一系列的关于SO文件保护的自我理解,SO文件保护分为加固,混淆以及最近炒的比较火的虚拟机 加固就是将真正的so代码保护起来,不让攻击者那么轻易的发现,至于混淆,由于ART机制的介入,使得O-LLVM越来越火,这以后有机会再分析,这次主要是基于有源码的so文件保护,下次介绍无源码的so文件保护 这就引入了我们今天的主题,可以把我们关键的so文件中的核心函数放在自己所定义的节里面,然后进行加密保护,在合适的时机构造解密函数,当然解密函数可以用这个_attribute__((constructor ok,以上编写完以后就编译生成.so文件。 2.对得到的.so文件进行加密:这一块也是一个重点,大致上逻辑我们可以这么认为:先找到那个我们自己所定义的节,然后找到对应的offset和size,最后进行加密,加密完以后重新的写到另一个新的.so文件中

    4.1K40编辑于 2022-09-29
  • 来自专栏七夜安全博客

    so fast

    高性能端口扫描 前言 不要以为我是标题党,真的是so fast。。。最近有个小项目的需要,使用golang写了个端口扫描工具,不得不说golang的效率确实比python快的太多了。

    83620发布于 2018-10-08
  • 来自专栏韩曙亮的移动开发专栏

    【Android 逆向】Android 中常用的 so 动态库 ( systemliblibc.so 动态库 | libc++.so 动态库 | libstdc++.so 动态库 )

    文章目录 一、拷贝并分析 Android 中的 /system/lib/libc.so 动态库 二、拷贝并分析 Android 中的 /system/lib/libc++.so 动态库 三、拷贝并分析 Android 中的 /system/lib/libstdc++.so 动态库 总结 一、拷贝并分析 Android 中的 /system/lib/libc.so 动态库 ---- /system/lib /libc.so 是 C 函数标准库 ; 执行 cp /system/lib/libc.so /sdcard/Pictures 命令 , 将 libc.so 拷贝到手机的 SD 卡中 , 从 SD 卡可以将该动态库拷贝到 Windows 文件中 ; 使用 64 位的 IDA 打开上述动态库 ; libc.so 中有以下几个导入库 , dlopen , dlerror , dlclose ; 加载 libc.so 库之前 /libc++.so 动态库 和 /system/lib/libstdc++.so 动态库 都依赖于 libc.so 动态库 ;

    3.3K31编辑于 2023-03-29
  • 来自专栏全栈程序员必看

    开始激活成功教程so文件_so文件格式怎么打开

    文件的,一般用于静态分析,我们要调试so的话,需要在打开一个IDA来进行,所以这里一般都是需要打开两个IDA,也叫作双开IDA操作。 所以libc.so是最基本的,所以会断在这里,而且我们还需要知道一些常用的系统so,比如linker: 还有一个就是libdvm.so文件,他包含了DVM中所有的底层加载dex的一些方法: 我们在后面动态调试需要 dump出加密之后的dex文件,就需要调试这个so文件了。 3、找到函数地址,下断点,开始调试 我们使用Ctrl+S找到需要调试so的基地址:74FE4000 然后通过另外一个IDA打开so文件,查看函数的相对地址:E9C 那么得到了函数的绝对地址就是:74FE4E9C 4>通过打开so文件,找到需要调试的函数的相对地址,然后在调试页面使用Ctrl+S找到so文件的基地址,相加之后得到绝对地址,使用G键,跳转到函数的地址处,下好断点。点击运行或者F9键。

    4.6K20编辑于 2022-11-04
  • 来自专栏全栈程序员必看

    解决libssl.so.1.0.0 => not found以及libcrypto.so.1.0.0 => not found

    但是很多应用要使用libssl.so.1.0.0和libcrypto.so.1.0.0。 试过软链接,但是没用。 所以只好手动下载它们的安装包了。 suite=jessie&arch=any&mode=exactfilename&searchon=contents&keywords=libssl.so.1.0.0 幸运的是,libssl1.0.0和 x86_64的64位版本 libssl.so.1.0.0和libcrypto.so.1.0.0都会被安装到/lib/x86_64-linux-gnu/下。

    5.2K30编辑于 2022-09-07
  • 来自专栏用户2442861的专栏

    套接字中SO_REUSEPORT和SO_REUSEADDR的区别

    SO_REUSEPORT 许多人将SO_REUSEADDR当成了SO_REUSEPORT。 SO_REUSEPORT并不等于SO_REUSEADDR。 当然,同时给socket设置SO_REUSEADDR和SO_REUSEPORT选项是也是可以的。 SO_REUSEPORT是在SO_REUSEADDR之后被添加到BSD系统中的。 事实上,在multicast情况下,SO_REUSEADDR和SO_REUSEPORT的作用完全相同。 在Windows中对一个socket设置SO_REUSEADDR的效果与在BSD下同时对一个socket设置SO_REUSEPORT和SO_REUSEADDR相同。

    4.5K21发布于 2018-09-14
  • 来自专栏全栈程序员必看

    python调用so文件

    stx, etx, eot, enq, ack, bel, */ 255, 255, 255, 255, 255, 255, 255, 255, /* bs, ht, nl, vt, np, cr, so 1024] = { 0}; InitTable(array,13); XorResult(array,in, 0x53, out); 本地安装Clone 并配置cmake: 将上面代码编译成so : g++ run.cpp -fPIC -shared -o run.so 编译后的搜放出来:传输门地址: https://wwi.lanzoup.com/izAEa027198d 使用python调用 /main.so") lib.freeme.restype = None lib.freeme.argtypes = [c_void_p] lib.getXhsShield.restype = c_void_p

    9.5K30编辑于 2022-09-29
  • 来自专栏逆向与安全

    360 so动态脱壳

    1.对加壳后的so进行反编译,代码不能正常显示,被加密了,如下图所示: 查看so的"INIT_ARRAY",指向了壳的入口, 如下图所示: 2.用IDA反编译加壳后的so文件,到0Xfd30去(壳的入口函数 dump出来保存为lfx.Dump,与原始的so比较,看发生了什么变化,如下图所示: 10.将上面dump出来的文件lfx.Dump与没加壳前的so文件比较,发现不同的地方很多,说明还没有完全解密,继续分析 6 libjuan.so:80503044 D0 32 9F E5 LDR R3, =0xFFFFFF68 7 libjuan.so:80503048 D0 52 9F E5 00 50 E3 CMP R0, #0 ; 这时候dump可以得到原始的so 152 153 so了 154 libjuan.so:80503230 14.总结: INIT_ARRAY--->解密第二层壳(JNI_OnLoad)---->解密原始so文件--->解压缩原始so的代码节。

    2.1K00发布于 2018-08-08
  • 来自专栏葫芦

    linux .so cannot open

    PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysql.so' - libmysqlclient.so.16: on line 0 ldconfig -v | grep mysql ls -lhrnt /usr/lib64/mysql echo /usr/lib64/mysql >> /etc/ld.so.conf

    5.2K20发布于 2019-04-17
  • 来自专栏全栈程序员必看

    Java调用so文件

    ---- 公司的硬件让我帮忙调用一个so文件,想着一直都没机会自己写一个jni,于是就答应了,在调用的过程中还踩了不少坑,特地写一篇博客记录一下。 ---- 一、使用技术 原本是想直接用java自带的jni,但是我们硬件只给了一个so文件,而且里面的函数命名等规则不符合java的jni调用标准,于是就打算使用框架jna来调用。 二、编码前准备 2.1 首先将so文件放在项目resource文件夹下: 之所以放在该目录下,是为了方便编码过程中能动态获得该文件的路径,其实so文件可以放在任意路径下,只需在加载该so文件的时候,传入的文件的路径给加载器即可 如果你用的是idea,在jar包引入后可能还是会出现ClassNotFoundException,这个时候可以参考以下步骤: 完成上述步骤即可解决该异常 ---- 三、开始编码 3.1准备一个类,用于解析so 但在代码运行时,还是报错了: 参考王小草的博客,发现在Windows下生成的so文件是无法在Linux上运行的,因为不同系统生成的文件的ELF header可能是不一样的,所以让硬件工程师在Linux

    11.4K11编辑于 2022-11-04
领券