能力值:
( LV1,RANK:0 )
|
-
-
26 楼
大佬请教下,对于修改压缩数据那里修改第4个文件的时候,我的CPU架构不是amd64,是armv7l,所以不能修改amd64-linux.elf-main.c。然后我通过调试upx-3.96的源码发现实际用到了stub_arm_v5a_linux_elf_fold.h这个文件,但是在upx-3.96/src/stub/src/目录下没有找到armv5a对应的main.c。所以请教下armv5a架构下,amd64-linux.elf-main.c替换修改哪个文件好呢?
|
能力值:
( LV1,RANK:0 )
|
-
-
27 楼
感谢
|
能力值:
( LV5,RANK:78 )
|
-
-
28 楼
wx_pf
大佬请教下,对于修改压缩数据那里修改第4个文件的时候,我的CPU架构不是amd64,是armv7l,所以不能修改amd64-linux.elf-main.c。然后我通过调试upx-3.96的源码发现实 ...
你可以看下upx3.96/src/stub目录下的Makefile文件,或者在upx3.96/src目录下执行make all,根据命令行输出查看是那个文件生成的arm_v5a_linux_elf_fold.h
|
能力值:
( LV1,RANK:0 )
|
-
-
29 楼
luoye_ATL
你可以看下upx3.96/src/stub目录下的Makefile文件,或者在upx3.96/src目录下执行make all,根据命令行输出查看是那个文件生成的arm_v5a_linux_elf_f ...
非常感谢~
|
能力值:
( LV2,RANK:10 )
|
-
-
30 楼
能不能基于最新的upx写下改法呢
|
能力值:
( LV1,RANK:0 )
|
-
-
31 楼
wx_pf
大佬请教下,对于修改压缩数据那里修改第4个文件的时候,我的CPU架构不是amd64,是armv7l,所以不能修改amd64-linux.elf-main.c。然后我通过调试upx-3.96的源码发现实 ...
修改i386-linux.elf-main.c文件。可以通过观察armv5的S文件获知。armv5的S汇编码文件是空的,直接以include的方式复用armv4的S文件,所以armv5中调用的C文件代码和armv4调用的是一致的,所以应当修改armv4的C文件。但是实际上armv4的C也是空的,复用了i386-linux.elf-main.c的代码,所以最终修改目标是i386-linux.elf-main.c。另外可以挨个看下各个文件的内容和包含关系,就可以知道(只讨论linux平台)S汇编码是依据不同架构的32/64位各一份(部分由于差异会单独写一份),而C不依赖架构就只有32/64位的区别(最终对应amd64和i386的两个C),所以修改两个C文件就可以影响linux下各个架构的代码流程
|
能力值:
( LV12,RANK:340 )
|
-
-
32 楼
测试发现给linux可执行文件加壳可以正常工作, 但给so动态库加壳不行, 看源码, 好像还需要修改amd64-linux.elf-so_main.c这个文件来实现so的解密才行. 32位ARM好像是需要改src/stub/src/arm.v4t-linux.shlib-init.S 这个文件才行.
最后于 2023-7-25 16:06
被bxc编辑
,原因:
|
能力值:
( LV5,RANK:78 )
|
-
-
33 楼
bxc
测试发现给linux可执行文件加壳可以正常工作, 但给so动态库加壳不行, 看源码, 好像还需要修改amd64-linux.elf-so_main.c这个文件来实现so的解密才行.32位ARM好像是需 ...
是的,因为so库和可执行文件的布局有差异,处理文件不一样,我这里只尝试了可执行文件的加壳修改
|
能力值:
( LV1,RANK:0 )
|
-
-
34 楼
按照文章修改系统一样也报错 是怎么回事尼
|
能力值:
( LV1,RANK:0 )
|
-
-
35 楼
能不能给一份修改好的源码尼!! 大佬们!!自己改老是出错
|
能力值:
( LV2,RANK:10 )
|
-
-
36 楼
Vantler
修改i386-linux.elf-main.c文件。可以通过观察armv5的S文件获知。armv5的S汇编码文件是空的,直接以include的方式复用armv4的S文件,所以armv5中调用的C文件代 ...
我修改了四处,void PackLinuxElf64::buildLinuxLoader()和void PackLinuxElf32::buildLinuxLoader()同名函数两个都修改了,还是会报segment fault。请教请教?
|
能力值:
( LV2,RANK:10 )
|
-
-
37 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
38 楼
骑驴找马
我修改了四处,void PackLinuxElf64::buildLinuxLoader()和void PackLinuxElf32::buildLinuxLoader()同名函数两个都修改了,还是会 ...
你改好了吗,我也是一直报错~~
|
能力值:
( LV1,RANK:0 )
|
-
-
39 楼
骑驴找马
我修改了四处,void PackLinuxElf64::buildLinuxLoader()和void PackLinuxElf32::buildLinuxLoader()同名函数两个都修改了,还是会 ...
详细说说是修改的哪一步发生错误?前面的入口点异或正常执行没错是吗?如果单纯是压缩数据加密部分的错误,我会考虑压缩加密部分有问题,因为loader中只有一行解密代码没有多余实现,要么是前后配合有问题(例如我第一页回复中那个入口点亦或的问题),要么是前面处理逻辑有问题。我自己只遇到过入口点异或/loader两函数两种seg fault情况,其他的没遇到不好说
|
能力值:
( LV1,RANK:0 )
|
-
-
40 楼
如果是使用Android下的termux如何编译汇编文件呢
|
能力值:
( LV2,RANK:10 )
|
-
-
41 楼
感谢分享
|
能力值:
( LV1,RANK:0 )
|
-
-
42 楼
Vantler
详细说说是修改的哪一步发生错误?前面的入口点异或正常执行没错是吗?如果单纯是压缩数据加密部分的错误,我会考虑压缩加密部分有问题,因为loader中只有一行解密代码没有多余实现,要么是前后配合有问题(例 ...
如何在termux更新汇编文件呢
|
能力值:
( LV1,RANK:0 )
|
-
-
43 楼
请问windows的怎么修改压缩呢?该修改哪个c文件?谢谢
|
能力值:
( LV1,RANK:0 )
|
-
-
44 楼
mb_onqwmgfo
如何在termux更新汇编文件呢
恐怕需要该那个汇编编译工具的代码,我记得里面直接调用HOME环境变量(或是个啥来着,记不清了)来定位工具位置的,termux里面修改这个变量为你的地址应该就行,但是我没试过不好说
|
|
|