首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Jasmin不喜欢这个汇编代码?

Jasmin可能不喜欢这个汇编代码的原因有以下几点:

  1. 可读性差:汇编代码通常使用机器指令和寄存器等底层概念,对于非专业人士来说,阅读和理解汇编代码可能会比较困难。
  2. 可维护性差:由于汇编代码的复杂性和底层性质,对于代码的修改和维护可能会比较困难,容易引入错误。
  3. 可移植性差:汇编代码通常是与特定的硬件平台相关的,不同的硬件平台可能有不同的指令集和寄存器,因此汇编代码在不同的平台上可能需要重新编写或进行适配。
  4. 开发效率低:相比高级编程语言,汇编代码编写和调试的过程相对繁琐和耗时,不利于快速开发和迭代。
  5. 容易引入安全漏洞:由于汇编代码直接操作底层硬件,编写不当可能会导致安全漏洞的产生,例如缓冲区溢出等。

总结起来,Jasmin可能不喜欢这个汇编代码是因为它的可读性差、可维护性差、可移植性差、开发效率低,并且容易引入安全漏洞。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

代码指南100问:11为什么这个时代」才需要低代码

为什么这个时代」才需要低代码?...如果你了解过市面上各种低代码产品,不难发现其实这个领域的许多玩家在低代码概念诞生之前就已经存在了,比如:低代码领域的另一个巨头OutSystems,早在2001年就已经创立;而去年也被Forrester...那么,如果低代码像前面说的那么好,为什么以前没有火起来呢?...云原生、响应式Web)也在飞速发展和走向成熟,是时候通过“低代码这个新酒瓶重新包装上市,为亟需新生产力的传统IT市场带来一场真香之旅了。...业务收益不明显即使十几年前的低代码技术已经足够成熟,也一定不会在当年的应用开发市场上产生现在这样的影响力。为什么

14400

Android Studio 3.6 调试 smali的全过程

简介 Smali是用于Dalvik(Android虚拟机)的反汇编程序实现,汇编工具(将Smali代码汇编为dex文件)为smali.jar,与之对应的baksmali.jar则是反汇编程序(下载地址...),官方所说的基于Jasmin/dedexer语法,实际根不知道是什么鬼…… Smali支持注解、调试信息、行数信息等基本Java的基本特性,可以说是很接近Java编译在JVM上的中间语言了,一般用来做...搞搞小名堂 个人认为Smali只是用于做反汇编的一种语言实现,如果可以,自己也能定义一套这样的语言,实现反汇编的效果 好了,下面看下正文。...展开 smali 目录选择刚才添加waitForDebugger 代码的 smali 文件下一行下断点 ? 6....运行手机上安装的apk(apk会假死停在 waitForDebugger 代码处,等待调试器)。 7.在Android Studio选择附加 ?

2.4K20

26款优秀的Android逆向工程工具

其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能(注解,调试信息,线路信息等)。 2....特征包含: 不需要在android模拟器中运行; 能够将dex文件按照java源代码package的目录结构建好了目录,每个class文件对应一个ddx文件; 可作为像jasmin一样的反编译引擎...用户可以使用JD-GUI浏览和重建源代码的即时访问方法和字段,以代码高度方式来显示反编译过来的代码。 18....KRAKATAU Krakatau开发者为Storyyeller,目前主要包含三个工具——java类文件的反编译和反汇编工具,创建类文件的汇编工具。 20....RADARE2 radare2是一款开放源代码的逆向工程平台,它可以反汇编、调试、分析和操作二进制文件。

5.9K30

微软开源生物模型分析器(BMA):基于云的生物研究工具

微软英国剑桥研究院编程原理及工具研究组资深研究员、剑桥大学生物化学系副教授 Jasmin Fisher 认为,BMA 还可以加速有关药物间相互作用和抗药性等领域的研究,并可能最终为患者提供更为个性化和有效的癌症治疗方案...Jasmin Fisher BMA 是微软利用计算机科学加速癌症研究和治疗突破的研究项目之一。Fisher 在2016年的一篇报道中说:“我们正努力变革生物学日常研究的方式。”...(注:该部分节选自《微软:用计算机技术治愈癌症,这不是在开脑洞》) Jasmin Fisher 不寄望于彻底治愈癌症,而是希望能控制它。她相信,在她有生之年可以做到这一点。...这个基于云的工具让生物学家可以对细胞之间的互动和通信以及它们的连接进行建模。该系统可创建一个计算机化的模型,对比健康细胞的生物流程与生病后的异常流程。...借助 BMA,两个研究团队能够更好地了解不同的患者为什么对特定治疗方法有着不同的反应。Dry 说,BMA 对于更加个性化的癌症治疗或精准医疗来说有着巨大的潜力。

96270

为什么Java、Python会成为程序员最害怕的编程语言?

为什么程序员如此害怕使用这些编程语言呢?如果有机会的话,很难不会加入一些理论,甚至说一些不明智的话。或者为一些因为错误的原因而不喜欢的编程语言辩护。...不喜欢某一门编程语言的原因可能是“道德连坐”:因为不喜欢一个庞大的、过时的、文档最少的代码库,以及每次修复一个 Bug 都会破坏其他东西的架构风格。...这是为什么?我用 Ruby 编写过一些有趣的程序;在很大程度上,它是一种“按我的意思去做,而不是按我说的去做”的编程语言,15 年前,就是这个承诺让很多程序员爱上了这门语言。...汇编语言(排名第 4)是一种后天习得的品味(而且不是一门单一的语言)。如果你不学着去爱它,你就会讨厌它。如果你不喜欢它,你真的不应该去使用它。...你几乎总是可以避免使用汇编语言,但当你需要直接使用硬件时,你就别无选择。

61510

学单片机前要做好这些思想准备,不然你就白学了

写出这部分,着实的好笑,为什么呢?大家就说这还要说,我要学单片机,肯定是做好思想准备了啊,但是实际呢,好多同学经常会问我说单片机难学吗?这么贵的开发板,有没有便宜点的推荐?...你为他赚了10块钱,他会发你5块钱的工资就很不错了(实际远小于这个比例)。所以,不要想着学完单片机你能干什么?你能拿多少钱的工资,而是应该想想你能为老板赚多少钱?你能为老板怎么赚钱?...应付考试型:大学专业大多是调剂过来的,本不喜欢电子类专业,更不喜欢单片机,学习只为考试过关或者最后毕设通过,最后顺利毕业。...应付考试型,说白了你就不喜欢,那自然没必要浪费金钱,开发板都不需要,看看课本,简单学下仿真proteus,直接软件仿真测试下你的程序,应付考试,还得学汇编实际。...说了栗子:大学学的单片机还在是STC89系列,更有学习还在用AT89C系列,考试清一色的汇编指令,而毕业了你,或者你做项目,会选择用汇编吗?

79020

给所有入门编程者的几点建议!

专业就是这样,自然而然走上的 可能这类的大学生就比较多了,当初也不知道是为什么就选了这个专业,选了专业之后也不是很清楚将来要做些什么,或者当时听说这个专业的学长学姐们出去工作就业待遇都很好,稀里糊涂的就来了...,谈不上喜不喜欢,现在就向前走吧....半路出家 这种也有很多,一般也是在大学期间与计算机网络通信甚至机械啊公共管理等等相关的专业,开始的时候并不喜欢步入IT行业,转而做销售之类的,后期发现编程行业薪资待遇高,进而自学或者培训,从而步入这个行业...说说我自己,我是通信工程专业的,在大学期间C语言,计算机基础,汇编都接触过,专业有点偏电子,软硬都会点,再加上自己的一些兴趣爱好,自然的就走上了嵌入式这条路....当我们有了这种知识点之后,我想有个更高的要求,怎么样能够把代码写好,易于移植,架构清晰,这个思维就需要拔高了,我们要了解的就更多,这是一个过程,需要时间的历练 编程中的实战 我想对刚出入职场的同学们说,

48721

IDEA字节码学习查看神器jclasslib bytecode viewer介绍

一、背景 很多人想学习Java反汇编后的字节码,但是一方面缺乏好的资料,另外一方面缺乏好的工具。...2.2 为什么? 有 javap指令还需要这个干啥哩? 如果你真觉得 javap 非常好用,非常顺手,可以不需要这个软件。 但是很多人不喜欢总是敲命令,如果总是敲命令就会降低自己看字节码的频率。...比如 Java 语言的很多语法糖,通过反汇编可以快速轻松掌握。 但是很多人喜欢速成,喜欢看别人介绍的内容而不是自己能过自主学习和研究,其实这也恰恰是很多学不好的根本原因之一。...不是每个人都一定要学反汇编,但是如果你想自主学习,想深入学习,建议可以主动研究。 四、总结 本文主要介绍了 IDEA 字节码查看插件:jclasslib bytecode viewer。...如果对字节码感兴趣,想深入学习,平时开发中搭配这个插件来学习效果极佳。

95330

从java到JavaScript(1),看Dart:对比JavaGoSwiftRust

从表面上来看,“有人不喜欢花括号,开发了Python;有人在一个周末设计了出了JavaScript;有人因为上班太无聊,于是发明了C语言”。...从汇编 到C/C++ ,然后到Java,衍生的JavaScript,Dart,个人希望其一统大前端开发。编程语言进化目前大概有三个阶段:原始阶段,静态类型语言黄金时代。...汇编/ C/C++之类的,重性能,因为那个年代的计算资源相当匮乏。因为硬件能力不足,软件开发人员需要认真管理各类资源,不然系统速度太慢。这个阶段其实也诞生不少优秀的语言,比如lisp。...花在维护上时间大于写新代码的时间,这样的模块都应该用静态语言来写。这个年代涌现出了不少动态语言,比如Ruby、Python、Lua、JavaScript,当然也少不了Java。...做新语言大概会第一时间绕开这个坑,弱类型带来的好处实在有限。

32710

汇编语言到高级编程语言的演变

转载请联系授权 01 用胶带来补"漏洞" 葛丽丝·霍普博士(作为美国海军军官,她是哈佛1号计算机的首批程序员之一)也遇到了这个问题,这台机器我们在前面提过。...但这个点子是好的。 不久,很多人尝试创造新编程语言,如今有上百种语言!可惜的是,没有任何 A-0 的代码遗留下来。所以我们用 Python 举例(一门现代编程语言)。...记住,如果用汇编代码,我们得从内存取值,和寄存器打交道,以及其他底层细节。但同样的程序可以用 Python 这样写:不用管寄存器或内存位置,编译器会搞定这些细节,不用管底层细节。...FORTRAN 项目总监 John Backus 说过,"我做的大部分工作都是因为懒,我不喜欢写程序,所以我写这门语言,让编程更容易"。你懂的,典型的"懒人",创造自己的编程语言。...平均来说,FORTRAN 写的程序,比等同的手写汇编代码短 20 倍,然后 FORTRAN 编译器会把代码转成机器码。

1.7K21

JS是如何计算 1+1=2 的?

但作者不喜欢浏览器自作聪明,“浏览器别打岔,v8你继续讲,使用masm干了什么?” v8道:“masm提供了很多方法,基本和js是一一对应的,js语句是什么,就调用对应的masm方法。...这一句是将寄存器eax设置为1 __ add(eax, 1) //这一句将寄存器的值加1 __ ret(eax) //这里返回寄存值的值 (以上只是示例,伪代码不要当真) 上面是C++代码,在内存里生成机器码大概长这个样子...像mov它只是诸如1010这种汇编指令的代名词,人类写的是mov,汇编编译器译完就是1010了。 eax是寄存器地址,'mov eax,1'这句指令就是将寄存器的值设为1。...原来你是将js代码先转成了汇编代码,再将汇编代码转成为机器器,一件事转二道手续,这样能不慢吗?为什么不直接将js代码转为二进制机器码交给CPU大哥执行?”...看来v8并不知道1+1为什么等于2,v8为了执行js快一点,大量占用了内存空间,是用”空间换时间”的方法,博得了“v8引擎执行快”的美名。具体为什么1+1等于2,还需要问问CPU。

1.8K20

2018年最受欢迎的3种编程语言以及他们的年薪

如果你不喜欢它,5到10年甚至更快,你就会感到筋疲力尽。另外,不喜欢这种将编程语言进行比较或者性能评估的文章。祝你好运。”...对汇编语言一窍不通,但确实曾经非常认真的考虑过投入时间和精力来进行学习和掌握),对此,老板只是笑了笑,并且说,不要仅仅因为兴趣去选择,否则将来可能会后悔。...(其实我不大理解,为什么作者会引用这样一个名不见经传的人的话,作为引子,但他说的话确实没错。) 行业会给你重要的趋势和信号,用以决定选择。...全球数百万开发人员使用的代码共享网站GitHub也指出,JavaScript是最常用的编程语言。在2017年底的一份报告中,GitHub声明它的大多数用户主要用JavaScript作为他们的代码库。...为什么请在下面的评论部分告诉我们。 关于作者: Dr. Michael J.

52520

为什么开发者不阻止破解版的产生?

对于这个示例,假设正在被“破解”的软件被编译成本机代码,而不是基于 .NET 或 JavaScript 的应用程序。 (否则查看它的源代码就显得有些琐碎了。) 编译后的本机代码要研究起来有点棘手。...因此,攻击者唯一的办法就是反汇编二进制代码(总是以 .exe 和 .dll 文件,并且大部分是 Unix 可执行文件的应用程序包) 然后,攻击者将使用调试器来研究二进制代码,并试图找到我上面提到的注册逻辑...它们不会出现在攻击者可以看到的代码中。) ? (要理解上面显示的内容,攻击者必须对本机代码汇编语言指令有很好的了解。) 我还需要指出,对于攻击者来说,拥有上面这样的反汇编代码片段是最终的结果。...对他来说,主要的困难是如何在数以百万计的其他类似代码行中找到它。 这就是他们面临的主要挑战。 没有多少人能做到这一点,这就是为什么软件“破解”是一种特殊技能。...现在来回答为什么不可能防止它。

84830

Android污点分析工具flowdroid源码简析

1、准备 a)下载相关源码(包括soot、heros、jasmin、soot-infoflow、soot-infoflow、soot-infoflow-android)到同一文件夹中,使用eclipse...这个函数是对txt文件进行解析;进入calculateSourcesSinksEntrypoints这个函数,大致浏览下该函数,函数应该是这个本次操作的主函数,对其操作进行拆解,首先执行操作的代码如下所示...初始化soot完成后,进入第三个语句createMainMethod(),其代码如下所示;其主要的操作是构造一个虚拟的main方法,并将入口点(entrypoint)相关类添加到这个虚方法中; ?...3、数据流分析 数据流的分析主要依赖heros工具,可能大家有些时候对heros、jasmin与soot的关系理不大清,heros、jasmin是基于soot开发的工具,相当于soot的插件,不能独立运行...生成ICFG代码如下所示,此处不再深入此代码。 ?

3.7K50

第 1 课:计算机是如何计算 1+1=2 的?

但笔者不喜欢浏览器的打断,这阻碍了我们探索问题。笔者道,浏览器别打岔,V8 你继续讲,使用 masm 干了什么? v8 道,masm 提供了很多方法,可以理解为和 js 的语法能力是一一对应的。...这一句是将寄存器 eax 设置为 1__ add eax 1 // 这一句将寄存器的值加 1__ ret eax // 这里返回寄存值的值// 注:以上仅是伪代码示例 上面是 C++ 代码,在内存里生成机器码大概长这个样子...笔者想,原来一句简单的代码,要经过词法解析、语法解析、转为汇编代码汇编代码转为机器码等许多步骤,才能到达 CPU。 浏览器道道,好啊 V8,用户每天都骂网页慢,罪魁祸首原来在你这里。...你将 JS 代码先转成汇编代码,再将汇编代码转成为机器码,一件事转好几道手续,这样能不慢吗?为什么你不直接转为二进制机器码呢? 浏览器貌似找到了一次反击的机会。...笔者想,看来 V8 并不知道 1+1 为什么等于 2,它只是将浏览器交给它的代码在内存中编译一遍,然后交给 CPU 执行。

1.8K20

android反编译apk_apk反编译找不到

反编译代码: 1、解压apk得到class.dex 2、dex2jar.bat class.dex 3、用Java decompiler查看编译出来的*.jar文件就可以看到代码 反编译资源文件...>在下边的系统变量里新建一个变量,变量名为JAVA_HOME,值为JAVA的安装路径,比如我的是H:\ProgramFiles\Java\jdk1.6.0_26 二.APKTool的安装 1.其实这个谈不上安装...framework-res.apk apktool if C:\tzframework-res.apk 这里假设2个文件都放在C盘根目录 2.直接用build编译后在dist中找到的apk文件无法使用 其实这个问题我也不是特别理解...它可以读取dex格式的文件,生成一种类似于汇编语言的输出。这种输出与Jasmin的输出相似,但包含的是Dalvik的字节码。Dedexer与dexdump相比至少有3个优点: 1....目前好多强大的反编译工具都是以Jasmin作为反编译引擎的。 可以下载已经编译好的jar文件ddx1.11.jar,对应Java 1.6版本。

1.3K10
领券