好的,所以我最近开始做一些逆向工程,我不断遇到一个术语(我想)我不知道它意味着什么?坏男孩?
00013F92 7E 24 JLE SHORT function.00013FB8 ; badboy
Run Code Online (Sandbox Code Playgroud)
谁能解释一下?
假设我有一些C代码,它们遵循以下方式:
void fun_1(unsigned int *age)
[...]
int main() { unsigned int age[24]; }
在GDB中,我如何找到年龄的地址?
如果我用"233445"这样的字符串打开一个文件,我该如何将该字符串拆分成数字"2 3 3 4 4 5"并将每个字符串相互添加为"2 + 3 + 3等..."并打印出来结果.
到目前为止,我的代码如下所示:
use strict;
#open (FILE, '<', shift);
#my @strings = <FILE>;
@strings = qw(12243434, 345, 676744); ## or a contents of a file
foreach my $numbers (@strings) {
my @done = split(undef, $numbers);
print "@done\n";
}
Run Code Online (Sandbox Code Playgroud)
但我不知道从哪里开始实际的添加功能.
这是我目前的代码:
#!/usr/bin/perl -w
use strict;
require IO::Socket;
while (<>) {
chomp(my $host = $_);
my @header;
print "Connecting to: $host\n";
my $socket = new IO::Socket::INET(
PeerAddr => $host,
PeerPort => 80,
Proto => 'tcp') || print "Could not connect: $!\n";
print "Connected.\n";
print $socket "GET / HTTP/1.0\n\n";
my $i = 0;
while (<$socket>) {
@header[$i] = $_;
$i++;
}
$i = 0;
print "--------------------------------------\n";
while ($i <= 8) {
print "@header[$i++]";
}
print "-------------------------------------\n";
print "Finished $host\n\n";
}
Run Code Online (Sandbox Code Playgroud)
如果在浏览IP列表时,主机已关闭,而不是继续到下一个IP,它将给出一个错误"不能使用字符串("1")作为符号引用,而"严格引用"使用".
如果我然后更改@header …
这是一个"奇怪"的问题,因为它让我感到困惑.我一直在学习C,我意识到我的问题不在我的C书中.
当启动一个函数时,比如,int main()
或者void name()
,我如何知道要放在方括号中... ... int main(int argc, char *argv[])
或者只是int main()
.
这是一个愚蠢的问题,但我不知道何时在编程时使用什么.在线链接的资源会很有帮助.
谢谢,抱歉愚蠢.
有没有办法禁止该CtrlC命令停止在Perl中运行的脚本.
我知道$ SIG {'INT'}但我想知道一种方式,如果CtrlC按下脚本不会停止,无论如何.
目前我有:
$SIG{'INT'};
## for loop here
Run Code Online (Sandbox Code Playgroud)
但是一旦for循环结束,如果CtrlC按下,脚本将停止.