导航:首页 > 编程知识 > iL文件如何转换成汇编程序

iL文件如何转换成汇编程序

发布时间:2022-09-18 20:37:07

① 用Visual studio可以开发非托管代码(即本地代码)吗即不是将源码编译为IL,而是直接编译成为汇编。

可以、在文件->新建->项目 Visual C++ 中不选择 CLR (托管代码)项目就行了、其它的VC下的都是本地代码的开发、比如MFC、ATL、Win32、常规....都行、
VS下的C#和VB(VS2003以上)都只能开发托管的代码、

② C语言怎样转换成汇编语言

如果你用TC 那么就是tcc -S -I(你的include文件夹) -L(你的lib文件夹) (你的文件)
例如,include在C:\tc\include lib在C:\tc\lib 要编译文件hello.c
tcc -S -IC:\tc\include -LC:\tc\lib hello.c 会在当前目录下生成一个hello.asm文件直接打开即可
(注意!!!-S -I -L 全都是大写,区分大小写)

如果你用gcc 那么就是gcc -S (你的文件)
例如hello.c gcc -S hello.c
会在当前目录下生成一个hello.S文件,直接用记事本打开不好看,最好用word打开(windows下的gcc,如果是linux直接vi hello.S 或 cat hello.S 或 less hello.S即可)
(注意!!!-S 是大写,区分大小写)

③ 如何将C语言代码转换为对应的汇编代码

VC6.0下有两种方法:
(1)增加参数/FA:Project->Setting...,C/C++选项卡中的Project Options中增加参数/FA,编译后debug目录中将会增加对应源文件的汇编文件(*.asm)。
(2)如果想查看C语句对应的汇编代码的话,可以这样:F11单步调试,在debug工具栏中选择“disassembly”即可。每行C代码下面就是对应的汇编代码。
如果debug工具栏不见了,可在VC上方空白菜单处右键,选择“debug”即可弹出debug工具栏。

例如:
C代码程序
int main()
{
int a = 3;
int b = 4;
int c = a + b;
printf("c=%d/n", c);

return 0;
}

对应的汇编代码程序(部分)如下:
5: int a = 3;
00401028 mov dword ptr [ebp-4],3
6: int b = 4;
0040102F mov dword ptr [ebp-8],4
7: int c = a + b;
00401036 mov eax,dword ptr [ebp-4]
00401039 add eax,dword ptr [ebp-8]
0040103C mov dword ptr [ebp-0Ch],eax

gcc下编译加参数-S,如gcc a.c -S,编译后会自动生成汇编文件a.asm。

④ 如何将c语言程序转成汇编语言程序。

问题分两个部分答:
..................................................
第一:仅仅是需要看C语言的每一句执行与汇编语言的对照,可如下来做:
举例:最简单的C程序:
void main()
{
int a = 1,b = 2,c;
c = a+b;
}
在VC中输入程序:
点击菜单[编译]->[开始调试]->[Step Into] 或直接按[F11]进入单步调试,
然后再点击[调试工具栏上的 Disassembly]即显示汇编语言对照.就可以
看到以上最简单的C程序的对应的汇编语言.看到的情况如下:
3: int a = 1,b = 2,c;
00401028 C7 45 FC 01 00 00 00 mov dword ptr [ebp-4],1
0040102F C7 45 F8 02 00 00 00 mov dword ptr [ebp-8],2
4: c = a+b;
00401036 8B 45 FC mov eax,dword ptr [ebp-4]
00401039 03 45 F8 add eax,dword ptr [ebp-8]
0040103C 89 45 F4 mov dword ptr [ebp-0Ch],eax
...................................................
第二:
用IDA 3.74反汇编DOS下的可执行文件和WIN32的NE,PE格式的文件。
在反汇编C语言变的文件时,可以自动辨认出 C语言的库文件。
可找到_main()函数一下子就找到了,能识别VC5.0编写的程序,
识别MMX指令。
下载具体地址为:202.115.9.33\incoming\program\ida
大约为10兆,安装完后,将patch.exe拷到安装目录下,执行一遍
即可去掉64k内存的限制。

⑤ 关于DLL与IL的转换

反编译的一般只是看看,能再次编译成功挺困难的,你可以转成C#,这样方便读,有错误可以手动改。

⑥ 怎样将C语言语句转换成汇编指 用什么软件或有没有相关的书籍

你可以像他们说的那样,用反编译工具对目标程序进行反编译,好处是直接针对目标,而且无须源码,当然咯,坏处就是你看到的汇编指令引用变量是直接引用的地址,所以可读行比较差,最好的办法也是最简洁的办法就是不用反编译程序,而直接用C语言的编译器,在几乎所有的编译器中都有专门的参数可以直接得到C语言对应的汇编指令,因为大部分C语言内部会有一个汇编程序,C程序先转化为汇编再汇编成可执行程序的,所以你只许指定编译器的生成汇编文件的参数即可,比如Gcc用参数-S指定,具体可参照相应的编译器

⑦ 单片机程序用什么软件转汇编程序

直接用proteus。

用c语言的程序,但转换的结果不是太理想,跟反汇编差不多,需要自己去整理,其转移的标号需要自己重新定义,转换结果里是用行地址替代的。

先将汇编语言编译成HEX或BIN文件,再通过相应的下载手段把文件下载进去,编译的话比如WAVE软件就可以,很多的,下载的话要看什么型号的单片机了,有些支持在线ISP下载,那么电脑装个软件,通过232串口连接到板子上,就可以了,有些呢,是需要买专门的烧写器的。

简单汇编程序

简单汇编程序 又称“装入并执行”式汇编程序。由于简便而得到广泛使用。这种汇编程序的特点是汇编后的机器语言程序直接放在内存之中准备执行。目标程序所占据的存储位置是在汇编时固定的,并且以后不能改变,所以这种工作方式不能将多个独立汇编的子程序合并为一个完整的程序,而且只能调用位置与目标程序不冲突的程序库中的子程序。

以上内容参考:网络-汇编程序

阅读全文

与iL文件如何转换成汇编程序相关的资料

热点内容
怎么样在网站下载红色警戒 浏览:775
免费看电影无vip 浏览:108
路由器手机怎么重置密码 浏览:990
小孩抗日 小说 浏览:655
国外小孩与小孩性 爱视频 浏览:965
cad导入ug无效文件 浏览:760
如何使用小图标查看文件 浏览:166
免费大全在线网站不卡 浏览:490
韩国电影健身房教练 浏览:942
金刚2免费完整版正片 浏览:477
女蛇妖的电影 浏览:640
苹果手机清除文件垃圾的方法 浏览:689
腾讯视频有哪些版本 浏览:405
用数据线微信文件怎么转电脑 浏览:262
黑人教室的英语作弊教师 浏览:651
oracleexp指定版本 浏览:150
李银美韩国 浏览:319
u12linux 浏览:783
限制级视频网 浏览:636
.ybci.waq ?x 浏览:765

友情链接