当前位置:首页 » 操作系统 » linuxida

linuxida

发布时间: 2023-01-20 11:50:47

A. linux怎么在文件里寻找字符串

可以使用vim打开文件,然后通过 vim编辑 中的 /(向后查找)或者 ?(向前查找)来查找相应的字符串。


示例:用vim打开/etc/passwd查找admin用户名

vim /etc/passwd

打开文件后,直接输入 /admin 回车即可查找如下图所示:

回车执行,vim查找到后,会标识出来,如下图所示:

B. ida动态调试为啥无法选择windows

1、将IDA安装目录dbgsrv文件夹里的linux_server64拷贝到64位的linux虚拟机。
2、通过命令chmod+xlinux_server64为程序添加可执行权限。
3、通过命令./linux_server64开启服务端。
3、在IDA中点击Debugger,添加RemoteLinuxDebugger。
4、点击Debugger下的ProcessOption进行如下配置前三行都是可执行文件在linux虚拟机中的位置Hostname是虚拟机的IP,端口用默认值这时就可以开始调试了。

C. 用ida可以反汇编linux的so库文件吗

这个一般没有要求。一般/lib /usr/lib 其它的要看具体情况。。。 如果你是自己编译的应用程序,.so文件一般就在安装目录下的lib目录中。

D. 如何使用ida在apk执行前动态调试其so中的函数

安卓手机用ida在apk执行前动态调试其so中的函数 方法1 1、解包对方APK,插入一个:对应SMALI: android.os.SystemClock.sleep(20000);const-wide/16 v0, 0x2710 #20秒invoke-static {v0, v(X-1)}, Landroid/os/SystemClock;->sleep(J)V这里(X-1)对应.local X。 2 另外,有的包在你要调试的那个SO里面有签名保护,反正你重新打了包之后会导致程序运行崩溃,这个相比JAVA修改困难些,建议你用那个签名漏洞来打包。事实上我调试那个SO也遇到过这样,然后打了个签名漏洞的包嵌入的延时函数就可以了。 方法2 1) am start -D -n 包名/类名; 2) IDA pro attach 进程, 设置新线程,加载so时断点,continue; 3) 打开ddms, 查看调试端口, jdb attach port; 4) 这个时候应该已经断在新线程,或者加载so处了,在你感兴趣的so处停下来; 5) 另外用ida 打开so,查看你感兴趣的函数偏移, 加上你感兴趣的so的基地址,打上断点,continue, 就大功告成了。 注意事项 windows下ida6.1不行,linux ida 6.4可以,不知是ida的问题还是windows的问题,你可以在linux下用wine测一下。 经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细

E. ida是什么意思

ida是指交互式反汇编器专业版

交互式反汇编器专业版(Interactive Disassembler Professional),人们常称其为IDA Pro,或简称为IDA。是最棒的一个静态反编译软件,为众多0day世界的成员和ShellCode安全分析人士不可缺少的利器。

IDA Pro是一款交互式的,可编程的,可扩展的,多处理器的,交叉Windows或LinuxWinCEMacOS平台主机来分析程序, 被公认为最好的花钱可以买到的逆向工程利器。

分类:

从功能上看,IDA Pro共有两个版本:标准版和高级版。这两个版本的主要区别,在于他们支持反汇编的处理器体系结构数量不同。

快速浏览一下它们所支持的处理器体系结构列表,即可发现:标准版支持30多种处理器,而高级版则支持50多种处理器。高级版支持的其他体系结构包括Itanium、AMD64、MIPS、PPC和SPARC等。

F. linux里文件如何进行文件脱壳

linux很少有需要crack的软件,所以最近总是自娱自乐。自己写的软件自己破着玩但是由于都是知道自己的手段,没有什么意思。真的希望有高手们写些crackme for linux 。
最近看了看windows的脱壳大致的理解了脱壳的原理,之前没有怎么接触脱壳,通常只是选择没有壳的软件看看。在linux下的壳没有找到几个。只找到了一个upx的壳,在windows下是个弱壳。实际上在linux下面也是弱壳,完全可以使用"upx -d"的命令解决问题。但我总是喜欢自己手动的。呵呵....纯属于自娱自乐。
ok,开始我们的linux的upx的脱壳之旅.........
我在选择工具的时候花了很多时间,忽然发现GDB在upx面前是那么的苍白无力...也终于知道为什么有人说GDB不适合做逆向了...虽然软件在调试器里可以正常于运行,正常下断。但是根本无法查看反汇编的代码.......。
无奈无奈....使用传说中最好的工具 IDA 为此我特地简单的学习了一下IDC脚本的使用方法...
没有什么资料可以参考,是一件很不愉快的事情,因为不知道能不能成功。不管了,一步一步来吧...
我用“upx -d“ 脱出了原来的文件,发现文件是全的,没有任何部分丢失,所以我相信这些文件会出现在进程空间的某个时间的某个角落,这个很大的坚定了我手动脱壳的信心(但是实际上到这篇文章的结尾我也没有能够在找到完整的程序文件,但我相信理论上内存空间中应该会出现完整的文件的...)。
我的加壳软件是我上次文章中用到做外挂的mines(扫雷游戏)。先找到了upx-3.03-i386_linux 软件 附件中我会给出的免的度这篇文章的人去寻找了。
对我们目标软件加壳,命令如下,的确是个好用的压缩壳软件,直接有54%的压缩律。
代码:
[jun@beijihuCom mpupx]$Content$nbsp;./upx mines
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2008
UPX 3.03 Markus Oberhumer, Laszlo Molnar & John Reiser Apr 27th 2008
File size Ratio Format Name
-------------------- ------ ----------- -----------
13960 -> 7556 54.13% linux/elf386 mines
Packed 1 file.
[jun@beijihuCom mpupx]$Content$nbsp;
好了,我们开始调试他了,加了壳以后,一般的调试软件已经对他无能为力了...
实验一下GDB 和 DDD 的效果...以及objmp
readelf还可以正常使用,(仅限于一部分功能.呵呵,不详谈了...)
代码:
[jun@beijihuCom mpupx]$Content$nbsp;readelf -e ./mines
ELF Header:
Magic: 7f 45 4c 46 01 01 01 03 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2’s complement, little endian
Version: ; 1 (current)
OS/ABI: UNIX - Linux
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0xc02598
Start of program headers: 52 (bytes into file)
Start of section headers: 0 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 2
Size of section headers: 40 (bytes)
Number of section headers: 0
Section header string table index: 0
There are no sections in this file.
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x000000 0x00c01000 0x00c01000 0x01d60 0x01d60 R E 0x1000
LOAD 0x0002fc 0x0804b2fc 0x0804b2fc 0x00000 0x00000 RW 0x1000
上面的输出,我们可以发现他的入口点是0xc02598 这个入口点已经和GCC编译出来的程序大不一样了。实际上重“upx -d“脱出来的效果来看,原来的入口点基本上是不会改变的,也就是说我们的手动脱壳的时候软件的入口点,加载方式都是和未加壳的软件是一样的...这一点又为我们的脱壳成功,增加了砝码..
继续....gdb 调试一下
代码:
(gdb) b *0xc02598
Breakpoint 1 at 0xc02598
(gdb) r
Starting program: /home/jun/Crack/mpupx/mines
warning: shared library handler failed to enable breakpoint
(no debugging symbols found)
Breakpoint 1, 0x00c02598 in ?? ()
(gdb) disassemble
No function contains program counter for selected frame.
(gdb)
gdb看不反汇编代码,晕了都不知道下一步的操作是什么....看来是没有什么用了
祭起传说中的逆向利器IDA.学西习了一下,简单操作,我开始了调试之旅.
代码:
[jun@beijihuCom mpupx]$Content$nbsp;idal ./mines
等到加载完成,会停在入口处,呵呵在光标在call上直接按F4,程序运行,停到了入口出
单步运行...实际上我没有什么办法,不知道有什么下好的方法下断点,可以使这个简单方法调试...
这边我是这么想的,upx是压缩壳,当他把执行权交给原目标程序的时候,必定会有一个大的跳转,好多新手在windows脱壳,都是以这个为oep的标准的。linux应该也不会例外的...
F8单步到0xc025c8 跳到 oxc025d1 在 0xc025d3 又会跳回来。显然是个循环。不在循环里浪费时间了。我们向下找找,下面有个retn返回。光标移到上面F4。实际上没有什么把握。只是蒙的,结果很好,没有飞走.F8单步到了这里
继续单步,retn到一个地方
不详细分析了往下看。翻阿翻,不会这么巧吧.看见了 jmp dword ptr [edi]跳转,这不会是传说中的大跳吧。
不管直接F4到这里...哈哈很成功。
单步一下,跳到了这里。
不懂代码的具体含义,但是明显不是程序的入口...为什么?单步....继续
看到这里我忽然顿悟,这里是在做ld连接,不能让他运行了,很可能是为了我们目标程序的运行进行共享库的连接..会修改我们内存中的映像文件。这样我们mp出来的就不是原来的干净程序,因为我们没有修复工具,比起windows里面的PE修复要麻烦多了.....所以赶紧mp出来...
用来mp映像的idc脚本
代码:
#include <idc.idc>
#define PT_LOAD 1
#define PT_DYNAMIC 2
static main(void)
{
auto ImageBase,StartImg,EndImg;//基址 08048000
auto e_phoff;
auto e_phnum,p_offset;//paddr 0xc 地址,pmemsz ox14大小,p_offset 0x4
auto i,mpfile;
ImageBase=0x08048000;
StartImg=0x08048000;
EndImg=0x0;
Message("%8x\n",Dword(ImageBase));
if (Dword(ImageBase)==0x7f454c46 || Dword(ImageBase)==0x464c457f )
{
if(mpfile=fopen("./mpfile","w+"))
{
e_phoff=ImageBase+Word(ImageBase+0x1c);
e_phnum=Word(ImageBase+0x2c);
for(i=0;i<e_phnum;i++)
{
if (Dword(e_phoff)==PT_LOAD || Dword(e_phoff)==PT_DYNAMIC)
{ p_offset=Dword(e_phoff+0x4);
StartImg=Dword(e_phoff+0xc);
EndImg=Dword(e_phoff+0xc)+Dword(e_phoff+0x14);
mp(mpfile,StartImg,EndImg,p_offset);
Message("mp LOAD%d ok.\n",i);
}
e_phoff=e_phoff+0x20;
}
fseek(mpfile,0x30,0);
fputc(0x00,mpfile);
fputc(0x00,mpfile);
fputc(0x00,mpfile);
fputc(0x00,mpfile);
fclose(mpfile);
}else Message("mp err.");
}
}
static mp(mpfile,startimg,endimg,offset)
{auto i;
auto size;
size=endimg-startimg;
fseek(mpfile,offset,0);
for ( i=0; i < size; i=i+1 )
{
fputc(Byte(startimg+i),mpfile);
}
}
改变文件的属性,让他可以运行。
代码:
[jun@beijihuCom mpupx]$Content$nbsp;su
口令:
[root@beijihuCom mpupx]# chmod 755 ./mpfile
[root@beijihuCom mpupx]# ./mpfile
程序运行的很好..
总结:第一次在linux下手动脱壳,看上去文章中写的很轻松,实际上在之前做了很多工作。包括ELF的加载等等。还有我发现如果程序的节表头程序也能很好的运行,什么的..
另外,我之调试的时候,实际经过很多挫折...没有足够的经验嘛...不过些文章,截图的时候都很顺利..呵呵.共勉........

G. 如何构建Linux系统下U盘路由器防火墙

系统要求
作为路由器的计算机需要具有486以上的中央处理器、16MB以上的内存、软驱、连接局域网的网卡和连接互联网的网络设备,该设备可以是连接XDSL的网卡,也可以是线缆调制解调器(Cable Modem)或普通的调制解调器。支持以下网卡:
3com509 Mol:3c509
3com900 Mol:3c59x
Intel Ethernet Pro 100 Mol:eepro100
3com590 Mol:3c59x
RTL8139 Mol:8139cp eller8139too
下面详细介绍coyote Linux的安装及配置使用的步骤:将安装coyote Linux软件的计算机加入局域网,如果是用ADSL/Cable调制解调器方式连接互联网,需要两块网卡,一块接入局域网,一块连接ADSL/Cables设备。

步骤一:
软件下载安装:现在网上下载到Linux版和Windows版的制作程序,为了体现开源精神我选择了Linux版本:
#wegt 下载安装包
#tar vxf coyote-2.24.tar.gz;#cd coyote-2.24
#./makefloppy.sh
Coyote floppy builder script v2.9
Please choose the desired capacity for the created floppy:
1) 1.44Mb (Safest and most reliable but may lack space needed
for some options)
2) 1.68Mb (Good reliability with extra space) - recommended
3) 1.72Mb (Most space but may not work on all systems or with
all diskettes)
按照提示选择1。
步骤二:选择接入互联网方式
Please select the type of Internet connection that your system uses.
1) Standard Ethernet Connection
2) PPP over Ethernet Connection
3) PPP Dialup Connection
下面系统会自动工具检测到的网络设备,确定连接互联网所使用的协议类型。如果是安装了ADSL或线缆调制解调器,选择2;如果是专线选择1;如果是普通调制解调器拨号上网,则要使用3。以下操作是1为例。
步骤三:设置网络参数:
这个需要根据自己内部ip地址的分配情况进行设置。例如:如果内部网的ip是192.168.0.1/24,这里就要把ip设置成192.168.0.X。而其他的机子要将网关设置成这个地址
步骤四:选择是否把coyote Linux设置为dhcp服务器给其他的机器分配ip地址。可以根据自己的实际情况决定用还是不用。缺省设置是把它配置为dhcp服务器,IP分配地址:192.168.0.100-192.168.0.200。
步骤五:是否将coyote Linux构建“Demilitarized Zone”(DMZ)的区域。缺省设置是否。最简单的情况是直接将防火墙放置在外网和企业网络之间,所有流入企业网络的数据流量都将通过防火墙,使企业的所有客户机及服务器都处于防火墙的保护下。然而这种结构毕竟比较简单,企业中有许多服务器、客户机等资源需要保护,不同的资源对安全强度的要求也不同。不能用对待客户机的安全级别来对待服务器,这样服务器将会很危险;同样,也不能用对待服务器的安全级别来对待客户机,这样用户会感觉很不方便。针对不同资源提供不同安全级别的保护,可以考虑构建一个叫做“Demilitarized Zone”(DMZ)的区域。DMZ可以理解为一个不同于外网或内网的特殊网络区域。DMZ内通常放置一些不含机密信息的公用服务器,这样来自外网的访问者可以访问DMZ中的服务,但不可能接触到存放在内网中的公司机密或私人信息等。许多防火墙产品都提供了DMZ的接口。硬件防火墙由于使用专门的硬件芯片,所以在性能和流量上有绝对的优势。
步骤六:设置DNS服务器选项
为局域网内计算机提供域名服务代理,加快主机名对应IP地址的查找,从而提高访问网页的速度,可自设主机名称和IP地址的解析。
步骤七:选择WEB管理语言。中文一般情况下选择CHN 。coyote Linux支持11国家的语言
步骤八,选择日志服务器的地址,日志对于安全来说非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等。
步骤九:系统自检,提示输入网卡中断、IO是否启用7层过滤等选项。RTL8139的pci接口的网卡,直接被支持的,IO地址和IRQ不需要设置的,直接使用会车键NEXT,如果你用的是ISA网卡就必须填写。完成后会系统当前信息

步骤十:完成操作启动Linux路由器、防火墙
按照提示加入一张1.44MB的软盘,制作过程自动完成,大约需要250秒钟。coyote Linux软盘就完成了。用这张软盘启动一台打算作为路由器的机器,在bios里设置成软驱启动。
步骤十一:远程管理coyote Linux 路由器、防火墙
目前主要的远程连接技术大致分为以下两种:一种是基于浏览器的Web界面方式,另一种是基于命令行的方式。命令行的管理方式适合进行初始化、网卡配置等基本操作,不适合做丰富的管理功能。Web管理方式是另一种管理工具。这种方式提供了简单的管理界面,直观,是一种重要的管理工具,适合进行复杂的配置,连接多台服务器,同时支持丰富的审计和日志的功能。下面分别这介绍这两种方法。
SSH命令行方法:
目前通过SSH的远程管理工具在安全性上已经相当可靠,因为从目前来看,如果要对这些远程管理方式进行攻击,所有的可能就是在传输中。在传输中,假设所有的信息都被截下来,由于解密的工作量非常大,它依然是安全的。如果使用IDA加密算法,用每秒钟可以猜测10亿密码的分析机器,需要2的19次方/年才可以解密。SSH由于它本身是一种协议,所以对于异构平台之间,不存在兼容性问题,是一种跨平台的方式。在Linux客户端下使用SSH,优点是操作更方便无须其他软件。用户只需要使用系统提供的默认的配置文件“/etc/ssh/ssh_config”,并且使用如下简单的命令即可登录:
ssh -l root 192.168.0.1
登陆后,管理即可。

H. linux下怎样在一个文件里面查找一个字符串

在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。

Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。

Vim查找支持正则表达式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要转义,例如/vim$匹配"vim$"。

实战一下:

1、用vim打开要查找的文件

注意,如果没有安装vim,系统会提示安装语句,复制运行即可安装vim

I. ida pro 6.6 能用于linux软件么

可以。目前ida pro支持linux版本。

  1. IDA PRO简称IDA(Interactive Disassembler) ,是一个世界顶级的交互式反汇编工具,有两种可用版本。标准版(Standard)支持二十多种处理器。高级版(Advanced)支持50多种处理器。

  2. IDA PRO不存在任何注册机、注册码或破解版,除了测试版和一个5.0 的免费版外,网络上能下载的都是包含用户许可证的正版,因为所有的安装包都是OEM版,所以IDA官网不提供软件下载,并且软件也没有注册的选项(可以正常使用,但这也是一种盗版侵权的行为)。

J. Linux下有什么类似OD的软件

od是windows上的rin3级的调试器。
linux上一般使用gcc、nasm、ida就可以了。

热点内容
如何对iis服务器远程执行代码 发布:2025-07-05 03:49:19 浏览:130
安卓手机连不到热点为什么 发布:2025-07-05 03:47:53 浏览:30
安卓平板哪个清理内存好 发布:2025-07-05 03:47:43 浏览:916
p2p数据库 发布:2025-07-05 03:47:10 浏览:992
3k买什么安卓手机 发布:2025-07-05 03:40:30 浏览:558
创建域用户账户密码至少多少字符 发布:2025-07-05 03:29:43 浏览:15
安卓安装包反编译 发布:2025-07-05 03:24:07 浏览:713
vi编译器怎么查最后几行 发布:2025-07-05 03:24:00 浏览:901
ntp服务器怎么搭建 发布:2025-07-05 02:51:53 浏览:771
谭浩强c语言基础 发布:2025-07-05 02:51:45 浏览:778