能力值:
( LV3,RANK:30 )
|
-
-
|
能力值:
( LV3,RANK:30 )
|
-
-
|
能力值:
( LV3,RANK:30 )
|
-
-
[求助]ptrace 跟踪多线程
可以看看 strace 的实现 例如, 跟踪多个线程和之后产生的线程
$ strace -f -p ${tid1} -p ${tid2} -p ${tid3} -p ${tid4}
man 手册是个好东西
|
能力值:
( LV3,RANK:30 )
|
-
-
[原创]用 Lua 简单还原 OpCode 顺序
- 删除加载明文脚本相关的代码可能会导致大量使用
require ,dofile ,loadfile ,dostring ,loadstring ,loadlib ,load 相关功能的 Lua 库发生故障,一般只会隐藏导出接口。
- 无故障

|
能力值:
( LV3,RANK:30 )
|
-
-
[原创]用 Lua 简单还原 OpCode 顺序
动态库需要导出函数,才能被外部调用。在 Lua 的动态库中一般存在 `luaL_dofile` `luaL_loadbuffer` 等等,可以直接拿来用。如果是以静态库形式集成的 Lua,要自己找函数偏移。
|
能力值:
( LV3,RANK:30 )
|
-
-
[原创]入门级加固--3种加固方式学习记录
zylyy
小端在我们个人pc喝手机上还是很普遍的。大端可能用在linux服务器上。我实际没见过[em_33]
X86小端,ARM默认小端,这些没问题。但是在 MIPS 上,高通/雷凌/MTP/螃蟹这几个厂家有的是大端有的是小端,麻烦常见于 Linux OpenWRT 移植这块。
|
能力值:
( LV3,RANK:30 )
|
-
-
|
能力值:
( LV3,RANK:30 )
|
-
-
|
能力值:
( LV3,RANK:30 )
|
-
-
|
能力值:
( LV3,RANK:30 )
|
-
-
[原创]对AndroidInlineHook的一些研究以及对抗策略
楼主的方法还能再改进一下: 1. libc 的函数大多可以用系统调用替换或封装实现,如 `open` 对应的 `SYS_OPEN` ,从 Bionic 的源码里拷出来就能用; 2. dlopen/dlsym 也是被 Hook 的常见点,可以换成从 `/proc/self/maps` 中解析 SO 符号表
|
能力值:
( LV3,RANK:30 )
|
-
-
|
能力值:
( LV3,RANK:30 )
|
-
-
|
能力值:
( LV3,RANK:30 )
|
-
-
[讨论][求助]android so壳怎么将源so的soinfo信息导出给系统维护的soinfo
Adench
或者说除了直接赋值还有什么方法可以把源so的soinfo放在系统linker下的soinfo链表里呢?
做 SO 壳,一般是两种需求:
保护自己的库,解密后在 PROT_READ|PROT_EXEC 内存中运行,这种情况下一般不需要生成 soinfo
保护其他库,要求被加壳的库能够被其他库正确地加载, dlopen /dlsym 也正常工作。这要求 solist 中存在 这库的 soinfo 信息,同时 .dynsym 等信息正常。
|
能力值:
( LV3,RANK:30 )
|
-
-
|
能力值:
( LV3,RANK:30 )
|
-
-
[求助]so 可以修改导出函数的包名吗
可以,代码都帮你写好了
import lief
import sys
if __name__ == '__main__':
targetElf = sys.argv[1]
elf = lief.parse(targetElf)
if elf.has_symbol("Java_com_demo_sdk_start"):
sym_export = elf.get_symbol("Java_com_demo_sdk_start")
sym_export.name = "Java_com_test_sdk_start"
elf.write(targetElf)
最后于 2019-6-4 19:01
被Amun编辑
,原因: 修正变量名
|
能力值:
( LV3,RANK:30 )
|
-
-
|
能力值:
( LV3,RANK:30 )
|
-
-
|