Error[8]: Undefined offset: 22, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

在shell脚本中嵌入可执行二进制文件

是的,可以这样做。实际上,它与链接文章的概念非常相似。诀窍是使用

uuenpre
将二进制编码为文本格式,然后将其粘贴到脚本的末尾。

然后以一种可

uudepre
自行运行的方式编写脚本,以创建一个二进制文件,更改权限然后执行它。

uuenpre
uudepre
最初对前体到互联网,这并围绕转变二进制内容创建不处理二进制信息很好。转换为文本意味着它也可以作为shell脚本提供。如果由于某种原因您的发行版在尝试运行时抱怨
uuenpre
,则可能意味着您必须安装它。例如,在Debian
Squeeze上:

sudo aptitude install sharutils

将为您获取相关的可执行文件。这是我经历的过程。首先创建并编译您的C程序

hello.c

pax> cat hello.c#include <stdio.h>int main (void) {    printf ("Hellon");    return 0;}pax> gcc -o hello hello.c

然后创建一个shell脚本

testEmbed.sh
,它将自行解码:

pax> cat testEmbed.sh#!/bin/bashrm -f hellouudepre 
rm
./hellorm -f helloexit

第一条

hello
语句表明
pax> uuenpre hello hello >>testEmbed.sh
该脚本正在重新创建可执行文件,而不是在编译过程中徘徊。由于还需要文件中的有效负载,因此将编码的可执行文件附加到文件的末尾:

testEmbed.sh

之后,当您执行脚本时

uudepre
,它将提取可执行文件并运行它。

之所以起作用,是因为

begin
在其输入(
end
uuenpre
)中查找由放置在其中的某些标记行
pax> cat testEmbed.sh#!/bin/bashrm -f hellouudepre 
./hello
./hellorm -f helloexitbegin 755 helloM?T5,1@$!`0````````````(``P`!````$(,$"#0```#`!@```````#0`(``'M`"@`'@`;``8````T````-(`$"#2`!`C@````X`````4````$`````P```!0!: : :M:&%N9&QE`%]?1%1/4E]%3D1?7P!?7VQI8F-?8W-U7VEN:70`7U]B<W-?<W1AM<G0`7V5N9`!P=71S0$!'3$E"0UR+C``7V5D871A`%]?:38X-BYG971?<&-?4=&AU;FLN8G@`;6%I;@!?:6YI=````end
,因此它仅尝试解码编码的程序,而不是整个脚本:

java -jar hello.jar

您可能还需要担心其他事情,例如程序可能需要目标系统上不存在的共享库,但是上述过程基本上就是您所需要的。


JAR文件的处理过程非常相似,但运行方式不同。它仍然是一个文件,但是您需要替换以下行:

[+++]

具有能够运行JAR文件的功能,例如:

[+++]


)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 23, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

在shell脚本中嵌入可执行二进制文件

是的,可以这样做。实际上,它与链接文章的概念非常相似。诀窍是使用

uuenpre
将二进制编码为文本格式,然后将其粘贴到脚本的末尾。

然后以一种可

uudepre
自行运行的方式编写脚本,以创建一个二进制文件,更改权限然后执行它。

uuenpre
uudepre
最初对前体到互联网,这并围绕转变二进制内容创建不处理二进制信息很好。转换为文本意味着它也可以作为shell脚本提供。如果由于某种原因您的发行版在尝试运行时抱怨
uuenpre
,则可能意味着您必须安装它。例如,在Debian
Squeeze上:

sudo aptitude install sharutils

将为您获取相关的可执行文件。这是我经历的过程。首先创建并编译您的C程序

hello.c

pax> cat hello.c#include <stdio.h>int main (void) {    printf ("Hellon");    return 0;}pax> gcc -o hello hello.c

然后创建一个shell脚本

testEmbed.sh
,它将自行解码:

pax> cat testEmbed.sh#!/bin/bashrm -f hellouudepre 
rm
./hellorm -f helloexit

第一条

hello
语句表明
pax> uuenpre hello hello >>testEmbed.sh
该脚本正在重新创建可执行文件,而不是在编译过程中徘徊。由于还需要文件中的有效负载,因此将编码的可执行文件附加到文件的末尾:

testEmbed.sh

之后,当您执行脚本时

uudepre
,它将提取可执行文件并运行它。

之所以起作用,是因为

begin
在其输入(
end
uuenpre
)中查找由放置在其中的某些标记行
pax> cat testEmbed.sh#!/bin/bashrm -f hellouudepre 
./hello
./hellorm -f helloexitbegin 755 helloM?T5,1@$!`0````````````(``P`!````$(,$"#0```#`!@```````#0`(``'M`"@`'@`;``8````T````-(`$"#2`!`C@````X`````4````$`````P```!0!: : :M:&%N9&QE`%]?1%1/4E]%3D1?7P!?7VQI8F-?8W-U7VEN:70`7U]B<W-?<W1AM<G0`7V5N9`!P=71S0$!'3$E"0UR+C``7V5D871A`%]?:38X-BYG971?<&-?4=&AU;FLN8G@`;6%I;@!?:6YI=````end
,因此它仅尝试解码编码的程序,而不是整个脚本:

java -jar hello.jar

您可能还需要担心其他事情,例如程序可能需要目标系统上不存在的共享库,但是上述过程基本上就是您所需要的。


JAR文件的处理过程非常相似,但运行方式不同。它仍然是一个文件,但是您需要替换以下行:

具有能够运行JAR文件的功能,例如:

[+++]


)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
在shell脚本中嵌入可执行二进制文件_随笔_内存溢出

在shell脚本中嵌入可执行二进制文件

在shell脚本中嵌入可执行二进制文件,第1张

在shell脚本中嵌入可执行二进制文件

是的,可以这样做。实际上,它与链接文章的概念非常相似。诀窍是使用

uuenpre
将二进制编码为文本格式,然后将其粘贴到脚本的末尾。

然后以一种可

uudepre
自行运行的方式编写脚本,以创建一个二进制文件,更改权限然后执行它。

uuenpre
uudepre
最初对前体到互联网,这并围绕转变二进制内容创建不处理二进制信息很好。转换为文本意味着它也可以作为shell脚本提供。如果由于某种原因您的发行版在尝试运行时抱怨
uuenpre
,则可能意味着您必须安装它。例如,在Debian
Squeeze上:

sudo aptitude install sharutils

将为您获取相关的可执行文件。这是我经历的过程。首先创建并编译您的C程序

hello.c

pax> cat hello.c#include <stdio.h>int main (void) {    printf ("Hellon");    return 0;}pax> gcc -o hello hello.c

然后创建一个shell脚本

testEmbed.sh
,它将自行解码:

pax> cat testEmbed.sh#!/bin/bashrm -f hellouudepre 
rm
./hellorm -f helloexit

第一条

hello
语句表明
pax> uuenpre hello hello >>testEmbed.sh
该脚本正在重新创建可执行文件,而不是在编译过程中徘徊。由于还需要文件中的有效负载,因此将编码的可执行文件附加到文件的末尾:

testEmbed.sh

之后,当您执行脚本时

uudepre
,它将提取可执行文件并运行它。

之所以起作用,是因为

begin
在其输入(
end
uuenpre
)中查找由放置在其中的某些标记行
pax> cat testEmbed.sh#!/bin/bashrm -f hellouudepre 
./hello
./hellorm -f helloexitbegin 755 helloM?T5,1@$!`0````````````(``P`!````$(,$"#0```#`!@```````#0`(``'M`"@`'@`;``8````T````-(`$"#2`!`C@````X`````4````$`````P```!0!: : :M:&%N9&QE`%]?1%1/4E]%3D1?7P!?7VQI8F-?8W-U7VEN:70`7U]B<W-?<W1AM<G0`7V5N9`!P=71S0$!'3$E"0UR+C``7V5D871A`%]?:38X-BYG971?<&-?4=&AU;FLN8G@`;6%I;@!?:6YI=````end
,因此它仅尝试解码编码的程序,而不是整个脚本:

java -jar hello.jar

您可能还需要担心其他事情,例如程序可能需要目标系统上不存在的共享库,但是上述过程基本上就是您所需要的。


JAR文件的处理过程非常相似,但运行方式不同。它仍然是一个文件,但是您需要替换以下行:

具有能够运行JAR文件的功能,例如:



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5083138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存