精华内容
下载资源
问答
  • 反编译初识

    2019-01-06 23:08:00
    什么反编译(汇编 assembly 反汇编 dissembly)  1.1.1. 反编译原因如下:  a.逆向破解程序,作为一个有逼格,素养的我肯定不会这么的。哈哈  b.调试程序时,反汇编代码可以帮助我们理解程序(我们学习...

    一. 反编译(反汇编)简介

      1.1. 为什么要反编译(汇编 assembly   反汇编 dissembly)

        1.1.1. 反编译原因如下:

          a. 逆向破解程序,作为一个有逼格,素养的我肯定不会这么干的。哈哈

          b. 调试程序时,反汇编代码可以帮助我们理解程序(我们学习时使用objdump主要目的是这个),尤其是在理解链接脚本、链接地址等概念时

          c. 把C语言源代码编译链接生成的可执行程序反汇编后得到对应的汇编代码,可以帮助我们理解C语言和汇编语言之间的对应关系。非常有助于深入理解C语言。

      1.2. 反编译命令

        1.2.1. arm-linux-objdump -D led.elf > led_elf.dis 命令

          a. objdump是gcc工具链中的反汇编工具,作用是由编译链接好的elf格式的可执行程序反过来得到汇编源代码

          b. -D表示反汇编

        1.2.1. 获得反编译文件过程

          a. 此过程是基于上篇文章《编写第一个裸机程序》,前期准备参考此文章

          b. 反编译后生成led_elf.dis

    root@ubuntu:/mnt/hgfs/windows_share/baseC/lesson1.4.13-LED# ls
    led.S  Makefile  mkv210_image.c  write2sd  说明.txt
    root@ubuntu:/mnt/hgfs/windows_share/baseC/lesson1.4.13-LED# make
    arm-linux-gcc -o led.o led.S -c
    arm-linux-ld -Ttext 0x0 -o led.elf led.o
    arm-linux-objcopy -O binary led.elf led.bin
    arm-linux-objdump -D led.elf > led_elf.dis
    gcc mkv210_image.c -o mkx210
    ./mkx210 led.bin 210.bin
    root@ubuntu:/mnt/hgfs/windows_share/baseC/lesson1.4.13-LED# ls
    210.bin  led.elf      led.o  Makefile        mkx210    说明.txt
    led.bin  led_elf.dis  led.S  mkv210_image.c  write2sd
    root@ubuntu:/mnt/hgfs/windows_share/baseC/lesson1.4.13-LED#
    View Code

      1.3. 反编译文件led_elf.dis分析

        1.3.1. 我们选取一段分析  

    00000000 <_start>:
       0:    e59f1060     ldr    r1, [pc, #96]    ; 68 <delay_loop+0x10>

          a. 00000000 <_start>: 表示 标号地址、标号名字

          b. 0: e59f1060表示指令地址、指令机器码

          c. ldr r1, [pc, #96]表示指令机器码反汇编到的指令,由于有流水线的存在,此时PC值是当初指令地址+9;

          d. 68 <delay_loop+0x10>表示注释;0x68 = 96+8

    led.elf:     file format elf32-littlearm
    
    
    Disassembly of section .text:
    
    00000000 <_start>:
       0:    e59f1060     ldr    r1, [pc, #96]    ; 68 <delay_loop+0x10>
       4:    e59f0060     ldr    r0, [pc, #96]    ; 6c <delay_loop+0x14>
       8:    e5810000     str    r0, [r1]
    
    0000000c <while>:
       c:    e59f105c     ldr    r1, [pc, #92]    ; 70 <delay_loop+0x18>
      10:    e3e00008     mvn    r0, #8
      14:    e5810000     str    r0, [r1]
      18:    eb00000c     bl    50 <delay>
      1c:    e59f104c     ldr    r1, [pc, #76]    ; 70 <delay_loop+0x18>
      20:    e3e00010     mvn    r0, #16
      24:    e5810000     str    r0, [r1]
      28:    eb000008     bl    50 <delay>
      2c:    e59f103c     ldr    r1, [pc, #60]    ; 70 <delay_loop+0x18>
      30:    e3e00020     mvn    r0, #32
      34:    e5810000     str    r0, [r1]
      38:    eb000004     bl    50 <delay>
      3c:    e59f102c     ldr    r1, [pc, #44]    ; 70 <delay_loop+0x18>
      40:    e3e00010     mvn    r0, #16
      44:    e5810000     str    r0, [r1]
      48:    eb000000     bl    50 <delay>
      4c:    eaffffee     b    c <while>
    
    00000050 <delay>:
      50:    e59f201c     ldr    r2, [pc, #28]    ; 74 <delay_loop+0x1c>
      54:    e3a03000     mov    r3, #0
    
    00000058 <delay_loop>:
      58:    e2422001     sub    r2, r2, #1
      5c:    e1520003     cmp    r2, r3
      60:    1afffffc     bne    58 <delay_loop>
      64:    e1a0f00e     mov    pc, lr
      68:    e0200240     eor    r0, r0, r0, asr #4
      6c:    00111000     andseq    r1, r1, r0
      70:    e0200244     eor    r0, r0, r4, asr #4
      74:    00895440     addeq    r5, r9, r0, asr #8
    
    Disassembly of section .ARM.attributes:
    
    00000000 <.ARM.attributes>:
       0:    00001a41     andeq    r1, r0, r1, asr #20
       4:    61656100     cmnvs    r5, r0, lsl #2
       8:    01006962     tsteq    r0, r2, ror #18
       c:    00000010     andeq    r0, r0, r0, lsl r0
      10:    45543505     ldrbmi    r3, [r4, #-1285]    ; 0x505
      14:    08040600     stmdaeq    r4, {r9, sl}
      18:    Address 0x00000018 is out of bounds.
    View Code

     参考《朱老师.1.2ARM裸机课件》

    转载于:https://www.cnblogs.com/linux-37ge/p/10230923.html

    展开全文
  • 听说要用 混淆器 查了查资料 混淆器好像也能被反编译 这微软到底是想干什么啊? <br />请高人指点指点,怎么才能做到不让反编译,然后说下用哪个混淆器好吗? 基本上不太可能做到完全不让反编译。也...

    听说要用 混淆器 查了查资料 混淆器好像也能被反编译 这微软到底是想干什么啊?

    请高人指点指点,怎么才能做到不让反编译,然后说下用哪个混淆器好吗?

    基本上不太可能做到完全不让反编译。也就是能给增加一点难度而已。

    vs自带的混淆器
    C:/Program Files/Microsoft Visual Studio 8/Application/PreEmptive Solutions/Dotfuscator Community Edition/dotfuscator.exe
    不过据说效果不太好。

    一般就是混稀
    再就是加壳

    如果真的通过反翻译看懂别人的代码,至少也是高手级别的了

    因为看懂别人的代码,在没有任何文档的基础上,是很难的

    我一般最关心的是别人的开发文档

    高版本的,,没几个能,但是,告诉你不能说永久的事情,我们也能破解低版本的,我们也在研究它,相信很快也会被破解的

    个人认为,.NET 与Java一样,适合做项目,不适合做软件
    做软件还是用C++啥的比较适合~

    混淆加壳能防住99%的人,反正我没兴趣去反混淆,但是真正要破解你的,没太多办法。
    用.Net开发的时候就需要接受这个现实

    为何要防别人破解呢? 
    那么多开源的,怎么不学学别人的精神?
    就是呢,反编译又如何?自己不是技术高手的话反编译出来的代码特别是大点的项目看得你晕死,而如果是高手的话又有多少人屑于偷看别人的呢。

    如果不想被看到程序的代码流程,用dotfuscator专业版混淆后,用Reflector就基本什么也看不到了,看到的是这个
    public static byte[] c(HttpWebRequest A_0)
    {
      // This item is obfuscated and can not be translated.
    }
    就只能用il dasm去看il反汇编代码了,我是看不懂
    如果不想被看到里面的连接字符串什么的,好像怎么也保不了密,只能加点反编译难度,我是这么做的
    1、用des等加密类把字符串加密
    2、把des解密生成一个dll
    3、把这个dll用dotfuscator混淆
    4、把混淆的dll以资源嵌入程序
    5、程序反射这个dll把字符串解密
    6、把整个的带解密dll的exe再用dotfuscator混淆

    至此,没有一定水平的且不具有很大耐心的人就解不出你的字符串了

    反编译,俺感觉没啥的
    那种源代码看得都头疼的,在去反编译,嘿嘿!
    高手也死一堆脑细胞了才可能看得懂哇

    奶奶的,我是高手,我反毛线的别个的代码哇,又不是搞间谍工作

    你把微软的东东给我反编译出来哇,奶奶的,是我激动了,

    让中国也有个 cpu,搞个操作系统 核心技术啊啥的,那民族软件,嘿嘿,就不得像wps那个样子了噻

    来源:nba直播

    展开全文
  • dotnet反编译工具大全

    2016-11-13 20:08:00
    反编译不是为了破解软件,而是在开发时更好的读懂程序什么,比如MVC的源码,如果使用1和4的VS插件能更好的进行断点跟踪。 常用,效率最高: 1、【.NET Reflector】首选,能比较好的反编译语法糖,可以结合插件...

    反编译不是为了破解软件,而是在开发时更好的读懂程序干了什么,比如MVC的源码,如果使用1和4的VS插件能更好的进行断点跟踪。

    常用,效率最高:

    1、【.NET Reflector】首选,能比较好的反编译语法糖,可以结合插件(http://reflectoraddins.codeplex.com/)来扩展

    2、【Telerik JustDecompile】

    3、【ILSpy】为了抵抗.NET Reflector推出的开源工具,效果还是一般

    4、【JetBrains dotPeek】

    以下工具没测试过:

    5、【de4dot】

    6、【DnSpy】

    7、【NETUnpack】

    8、【DotNet Id】

    9、【DotNet Id】

    有时在开发的时候,不要用死一个工具不放,试着多换几个工具。

    其实很多时候根据工具查看其功能的时候也能通过介绍得知有哪些加壳工具。

    ==>如有问题,请联系我:easonjim#163.com,或者下方发表评论。<==
    展开全文
  • Linux下反编译.apk 文件

    千次阅读 2015-03-19 15:50:10
    1、为什么要反编译.apk 文件,我又是用来干什么的? 反编译安卓程序 .apk 后,可以得到程序的源码和图片、XML配置等文件。这段时间在碰到一个问题,要混淆android代码,混淆后想看看混淆后的效果,于是就涉及到了...

    Linux下反编译.apk 文件

     

    1、为什么要反编译.apk 文件,我又是用来干什么的?

    反编译安卓程序 .apk 后,可以得到程序的源码和图片、XML配置等文件。这段时间在碰到一个问题,要混淆android代码,混淆后想看看混淆后的效果,于是就涉及到了Android 的反编译。

    、反编译步骤::

    第一步:反编译apk文件生成程序源码,资源文件

    工具下载:

    apktool: 点击打开链接

    使用方法:

    下载反编译工具apktool , 将下载好的反编译工具包解压到任意文件夹比如:apk_tool 里,切换到该文件夹,输入以下命令:java -jar apktool.jar d ****.apk

    第二步:得到反编译后的classes.dex 文件,用jd-gui工具查看源码

    工具下载:

    jd-gui:点击打开链接

    dex2jar-0.0.9.15:点击打开链接

    反编译后会生成文件classes.dex ,需要将其转为.jar文件,查看程序源码。

    使用方法:

    classes.dex复制到dex2jar-0.0.9.15文件夹里面。在命令行下定位到dex2jar-0.0.9.8文件夹,运行sh dex2jar.sh classes.dex。 最终生成 classes_dex2jar.jar, 然后,进入jd-gui-0.3.5文件夹双击jd-gui,打开上面生成的jarclasses_dex2jar.jar,即可看到源代码了

    展开全文
  • Android反编译(apktool、dex2jar、jd-gui)三件套教程 这个是网上流行的使用工具,我现在重新写一下屡一下思路 ...简单介绍一下,大概了解一下各自是干什么的: ## apktool 可以反编译软件的布局文件、xm...
  • 枚举的声明很简单, 像enum Gender { Male, Female }, 其余事情就是 Java 编译器帮我们的了,所以 enum 也就是一块语法糖。有了枚举确实是很方便,避免了传统常量的无范围性。那么编译器到底在后面做了什么呢?以及...
  • 通过反编译字节码来理解 Java Enum

    千次阅读 2017-03-27 10:18:07
    Gender { Male, Female }, 其余事情就是 Java 编译器帮我们的了,所以 enum 也就是一块语法糖。有了枚举确实是很方便,避免了传统常量的无范围性。那么编译器到底在后面做了什么呢?以及理解了这个之后我们可以...
  • Arthas: Arthas能帮助你干什么?各种命令原理是什么?jvm-sandbox: jvm-sandbox能帮助你干什么?实现原理?自己如何实现一个?常见的一些问题?1.背景2018年已过,但是在过去的一年里面开源了很多优秀的项目,这...
  • 对应网站的右边>编辑网站>基本设置,可以看到,网站名称与应用程序池的名称是一样的:其实我们在IIS里创建一个网站的时候,IIS会自动给我们建立一个与网站名称相同名称的应用程序池,这个应用程序池是干什么用的呢?...
  • 今天带来一个好玩的工具——JAD,他是干什么的呢,这个工具可以把java的类文件反编译成java的源代码,用过android反编译的肯定玩过JD_GUI这个工具,他可以查看.jar文件里面的类信息,虽然JAD没有JD_GUI那么的强势...
  • 有一个认识的人通过反编译android程序往里面插入广告积分墙赚了很大一笔钱,很短时间内赚了几十万,(为毛感觉这已经是扯淡篇了,转入正题),最近研究也发现如果有兴趣可以通过改造app来做坏事,比如钓鱼什么的,...
  • 图解JAVA配置环境.doc

    2020-12-11 00:43:28
    图解JAVA配置环境JDK平台APK反编译必备~ Q为神马要配置这个JAVA环境这是嘛的 AM9使用的是Android操作系统其中的APK文件需要JAVA环境下才能进行编译反编译 Q那么为什么要编译反编译他们 A比如root权限下可以看到...
  • 这段时间都不知道在干什么,想反编译抖音吧,反编译成功了,可是自己能力不足没能找到加密参数的代码……算是知道自己有多菜了 补一篇爬取中国作物种植信息网的(可以练习post传参),下一篇就写写怎么反编译抖音的...
  • 恶意代码分析

    2018-04-18 10:57:00
    基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在什么。请设计下你想监控的操作有哪些,用...可以使用反汇编或者反编译工具查看他的代码,也可以让他在沙盘中运...
  • java_jvm工具

    2019-09-22 22:06:55
    1 jvm工具有哪些? 在jdk的bin目录下,可见的都是jvm的工具。 ...2 每个工具是干什么的?...用于处理OOM或者fullgc时分析原因的工具 ...可以将jar包拖到jd-gui.exe反编译工具中进行源码查看。 3 jps工具 j...
  • 【BUUCTF】findit WriteUp

    2020-07-20 11:02:05
    光看代码不是很明白程序要干什么,不过这不碍事 可以看到有一行if判断,我们不需要管前面到底判断的啥,直接把后面的代码复制到IDEA里跑一下就出答案了 不得不说JEB的反编译真的很好用! ...
  •  正常编译执行java文件时,会生成一个.class文件,反射就是一个反编译的过程,它可以通过.class文件得到一个java对象.一个类会有很多组成部分,比如成员变量,成员方法,构造方法等,反射可以通过加载类,解剖出类的各个...
  • 正常编译执行java文件时,会生成一个.class文件,反射就是一个反编译的过程,它可以通过.class文件得到一个java对象.一个类会有很多组成部分,比如成员变量,成员方法,构造方法等,反射可以通过加载类,解剖出类的各个组成...
  • 正常编译执行java文件时,会生成一个.class文件,反射就是一个反编译的过程,它可以通过.class文件得到一个java对象.一个类会有很多组成部分,比如成员变量,成员方法,构造方法等,反射可以通过加载类,解剖出类的各个组成...
  • 昨天用dnSPY反编译文件的时候,可以运行,今天哪怕不做任何修改,程序都报错 然后我导出到工程,用VS2019调试,发现所有引用的文件的框架都失败了,但是我升级前都能流畅使用, 是不是升级了VS2019,导致了...
  • 一ProGuard是什么,用来干什么用的?  ProGuard的是一个免费的Java类文件压缩,优化,混淆,以及预校验器,可以移除无用代码或者使用语意模糊的名称来重命名类、变量和方法。这样生成的apk体积更小,并且不易被逆向...
  • 周五下班回家,在公司班车上觉得无聊,看了下btrace的源码(自己反编译)。 一些关于btrace的基本内容,可以看下我早起的一篇记录:btrace记忆 上一篇主要介绍的是btrace的一些基本使用以及api,这里我想从btrace...
  • Runtime

    2019-10-06 21:18:20
    当我们对系统内部的实现很好奇的时候,可以用clang反编译成c++去看底层的实现机制! 1. runtime实现的机制是什么,怎么用,一般用于嘛?runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的...
  • OC的runtime运行机制

    2016-07-10 18:19:26
    OC的runtime运行机制oc是一个全动态...当我们对系统内部的实现很好奇的时候,可以用clang反编译成c++去看底层的实现机制! runtime实现的机制是什么,怎么用,一般用于嘛? runtime是一套比较底层的纯C语言API, 属于

空空如也

空空如也

1 2 3
收藏数 60
精华内容 24
关键字:

反编译可以干什么