首页
论坛
专栏
课程

删帖

2017-11-15 11:46 3921

删帖

2017-11-15 11:46
3921
最新回复 (14)
malokch 2 2017-11-15 11:49
2
0
自定义个loader不就好了,这事我干过。
lscmxl 2017-11-15 14:16
3
0
改造linker更方便
爱吃菠菜 1 2017-11-15 15:28
4
0
lscmxl 改造linker更方便
然而这不是模仿别人的思路,
这是自己动手证实的。
欧阳锋锋 2017-11-15 17:23
5
0
为什么要向A写入一段代码C呢?去掉这一步不行吗?
爱吃菠菜 1 2017-11-15 17:45
6
0



欧阳锋锋

为什么要向A写入一段代码C呢?去掉这一步不行吗?
C的作用是,从A中分离出B,并加载B,让B操作A。
解密和反调试的逻辑都在B中,B随便更新,C永远不变,A可以是任意目标。
爱吃菠菜 1 2017-11-15 18:44
7
0



欧阳锋锋

为什么要向A写入一段代码C呢?去掉这一步不行吗?
写入的不是源代码,是写入shellcode。。
tDasm 2017-11-16 08:03
8
0



爱吃菠菜




欧阳锋锋

为什么要向A写入一段代码C呢?去掉这一步不行吗?
C的作用是,从A中分离出B,并加载B,让B操作A。解密和反调试的逻辑都在B中,B随便更新,C ...
应该C、B合一。因为目标是任意A,C、B都是你写的。既然A是任意的,A就不可能包含B并分离出B。你这是自相矛盾。
爱吃菠菜 1 2017-11-16 10:16
9
0



tDasm




爱吃菠菜




欧阳锋锋

为什么要向A写入一段代码C呢?去掉这一步不行吗?
C的作用是,从A中分离出B,并加载B,让 .
爱吃菠菜 1 2017-11-16 10:17
10
0
tDasm 爱吃菠菜 欧阳锋锋 为什么要向A写入一段代码C呢?去掉这一步不行吗? C的作用是,从A中分离出B,并加载B,让 ...
A被DIY扩展空间了,写入了C,C的功能类似shellcode。
ddssxk 2017-11-16 16:51
11
0
大佬,可分析下实现的demo吗
tDasm 2017-11-17 08:31
12
0
爱吃菠菜 A被DIY扩展空间了,写入了C,C的功能类似shellcode。
你的目标是给A加壳,那么就是给A这个so加上启动代码(在初始化数组中或jni-onload实现?),也就是把loader代码写入A。loader代码包含B库甚至其他so,这就是C、B合一。
壳基本上都这样实现。
爱吃菠菜 1 2017-11-17 10:08
13
0



tDasm

你的目标是给A加壳,那么就是给A这个so加上启动代码(在初始化数组中或jni-onload实现?),也就是把loader代码写入A。loader代码包含B库甚至其他so,这就是C、B合一。
壳基本上 ...
不一定在初始化数组,在哪都无所谓,
inline hook  想在哪启动就在哪启动,
c是shellcode,b是payload。
爱吃菠菜 1 2017-11-17 14:03
14
0



ddssxk

大佬,可分析下实现的demo吗
如何扩展A或B部分实现不是这贴要讲的内容。
C部分找dlopen用多少个字节实现看个人的能力。
举个例子,可以是相对偏移定位自身REL/GOT--->找到libc--->popen()--->执行  cat  /proc/pid/maps  |grep  libdvm.so基址  --->解析dvm.so的REL找到dlopen。
爱吃菠菜 1 2017-11-17 14:13
15
0
爱吃菠菜 ddssxk 大佬,可分析下实现的demo吗 如何扩展A或B部分实现不是这贴要讲的内容。C部分找dlopen用多少个字节实现看个人的能力。举个例子,可以 ...
魔改ELF,一个字节不用的直接拿到dlopen地址。如果你有兴趣,可以加我一起讨论。
不过现在都是vmp了,这些玩意纯粹是闲的找事做,搞定了也没太多用处。。
游客
登录 | 注册 方可回帖
返回