首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

so加固-加密特定section中的内容

本文参考自:Android逆向之旅—基于对so中的section加密技术实现so加固,增加了自己的实践过程,以及一些额外的验证和解释。...本文代码参见:https://github.com/difcareer/SoEncrypt Android逆向之旅—基于对so中的section加密技术实现so加固 这篇文章写得真心好,建议先阅读一下原著...demo的misc下有编译后的脚本encrpt,需要在linux环境下执行,libencrypt.so是没有加密前的so,libencrypt2.so是加密后的so。...回到最重要的解密逻辑了,我们在__attribute__((constructor (n)))修饰的方法init_getString()中实现了解密逻辑,其原理是,通过读取/proc/pid/maps中的内容...,找到so被映射到内存中的地址,然后通过ehdr.e_entry和ehdr.e_shoff中的内容还原出decrypt section 的地址,字节取反恢复,内存写回。

2.1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux 什么是SO文件

    下面的内容大多都是连接中的,穿插我自己的笔记 牵扯到ELF格式,gcc编译选项待补,简单实用的说明一下,对Linux下的so文件有个实际性的认识。 1.so文件是什么?...———————————————————————- 链接:得到输出文件libs.so gcc -g -shared -Wl,-soname,libs.so -o libs.so libs.o -lc...这个特性使得在Linux下,升级使得共享库的程序和定位错误变得十分容易。   ...在Linux中,应用程序通过使用soname,来指定所希望库的版本,库作者可以通过保留或改变soname来声明,哪些版本是兼容的,这使得程序员摆脱了共享库版本冲突问题的困扰。...下面的还没细看,汗 4.库的初始化,解析: windows下的动态库加载,卸载都会有初始化函数以及卸载函数来完成库的初始化以及资源回收,linux当然也可以实现。

    5.7K20

    Vite Plugin Just so so

    然后,通过一个唯一id来获取到想要渲染的svg内容。...在上一节中我们说过,我们是通过来承载svg的内容,那么我们就需要将svg的字符信息转换成对应的DOM结构。...这块的内容我们在浅聊Vite中有过介绍。 接下来,我们就来将上一节中我们用Node处理SVG的逻辑做一番处理,让变成能够在Vite项目中使用的Vite插件。 话不多说,开造。...都是基于pattern查到到文件,然后做svg内容的替换,生成最后的svg文件,然后将最后生成的svg复制到指定文件夹内。 下面就是针对打包时的主要核心代码。...具体返回的内容是要写入到哪里,是由函数调用处决定。 最后,我们已经把所有的逻辑都处理完成了。可以说,如果现在将plubin放置到vite.config.ts中,在引入对应的库后,已经能生效了。

    11610

    linuxso注入与热更新原理

    简介 之前写了个hookso的工具,用来操作linux进程的动态链接库行为,本文从so注入与热更新入手,简单讲解一下其中的原理,配合源码阅读效果更佳。...这里要介绍一下linux的ptrace函数。...函数查找 我们知道,linux的可执行文件是elf文件格式,动态链接库其实也是elf格式。关于elf,有很多资料,这里简单讲一下elf结构。...(实际上linux各种运行时库的版本也很难受) 为什么不做成机器码直接jmp就好了? 机器码里直接jmp,但是事先不知道目标地址,所以只能填空,这样又不好与正常代码区分。...通过查阅资料可知,linux amd64调用函数,用到的寄存器及含义如下: rdi:参数1 rsi:参数2 rdx:参数3 rcx:参数4 r8:参数5 r9:参数6 rax:函数地址 rbp:栈底地址

    11.4K50

    linux(4)Linux 文件内容查看

    查看文件内容总览 cat 由第一行开始显示文件内容 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写! nl 显示的时候,顺道输出行号!...more 一页一页的显示文件内容 less 与 more 类似,但是比 more 更好的是,他可以往前翻页!...head 只看头几行 tail 只看尾巴几行 cat 由第一行开始显示文件内容 语法: cat [-AbEnTv] 选项与参数: -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已...你的光标也会在这里等待你的命令 在 more 这个程序的运行过程中,你有几个按键可以按的: 空白键 (space):代表向下翻一页; Enter :代表向下翻『一行』; /字串 :代表在这个显示的内容当中...,向下搜寻『字串』这个关键字; :f :立刻显示出档名以及目前显示的行数; q :代表立刻离开 more ,不再显示该文件内容

    15K20

    Linux 文件内容查看

    Linux系统中使用以下命令来查看文件的内容: cat  由第一行开始显示文件内容 tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写! nl   显示的时候,顺道输出行号!...more 一页一页的显示文件内容 less 与 more 类似,但是比 more 更好的是,他可以往前翻页!...cat 由第一行开始显示文件内容 语法: cat [-AbEnTv] 选项与参数: -A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已; -b :列出行号,仅针对非空白行做行号显示,...显示出来; -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同; -T :将 [tab] 按键以 ^I 显示出来; -v :列出一些看不出来的特殊字符 检看 /etc/issue 这个文件的内容...,向下搜寻『字串』这个关键字; :f            :立刻显示出档名以及目前显示的行数; q             :代表立刻离开 more ,不再显示该文件内容

    19.6K00

    linux如何改文件内容,linux下用命令修改文件内容

    linux下vi命令修改文件及保存的使用方法 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi n filename :打开文件,并将光标置于第n行首 vi filename...vi n filename :打开文件,并将光标置于第n行首 vi filename :打开 … linux 下echo命令写入文件内容 http://blog.csdn.net/xukai871105...语法:touch [选项] 文件 … linux下sed批量替换文件内容linux超级终端下编辑文档是件比较麻烦的事情,下面简单介绍一下如何在linux下批量替换文件内容 linuxsed 批量替换多个文件中的字符串...格式: sed -i “s/查找字段/替换 … Linux 使用vim命令编辑文件内容 在终端可以使用vim命令来直接编辑文件内容. vim,也可以叫做vi. vim有三种模式:命令模式.输入模式.底线命令模式...如果 … shell命令修改文件内容 有个 test.txt 文件内容为 hello tom,现在修改成 hello jerry,并保存到test2.txt sed ‘s/tom/jerry/g’ test.txt

    8.7K20
    领券