zoukankan      html  css  js  c++  java
  • 昨天中午壳终于被脱掉了,但是问题来了

    代价就是不能调试,其实也不算什么代价,这个程序脱壳之后,不用调试期,在虚拟机里面单独运行都崩溃。

    但是看代码,看得好晕。。。

    图片

    这里,第一个call先malloc了一块空间,然后把字符串memmove到了那块空间,扔到了一个全局指针上,然后返回了

    第二个call给某个全局变量做了一个原子++操作,很恶心,

    第三个函数是重点,

    图片 

    第一个 call ,给局部变量初始化,

    第二个 call 就是激动人心的时刻,CreateFileW 了,方式是 OPEN_EXISTING 和 FILE_ATTRIBUTE_NORMAL 。在函数里面,CreateFileW之后,如果成功的话,这个函数返回1,不成功的话,这个函数返回0

    下面的跳转就很诡异。

    操了,如果上面CreateFileW成功就转入红色,否则就走绿色出去。

    但是这里第三个 call ,直接就把CreateFileW的 HADNLE 关闭了,为什么要关闭呢,难道就是为了要弄出一个文件来么。

    倒数第二个call ,根据前面得到的一个结果,给全局指针赋值。

    最后一个call ,原子--

    我就不明白,这破逼玩意,折腾个什么劲,打开了文件,又关闭文件。





    然后上面的主函数直接进右边,一系列函数调用了。。。。

    这些是否重要,都尚且未知,但是不一步一步走下去,真的不知道万一丢了哪个怎么办,而且还不能动态跟踪。。。

    好累。。。静态分析汇编代码是最累的。。。。

    没有源码,没有符号,毛提示都没有。。。。我继续。。。。 
  • 相关阅读:
    使用springboot遇到的问题
    npm使用出现的问题
    ORACLE遇到的新知识
    使用linux
    解释ArrayList的源码
    git的基础知识(并不是直接照着抄写的,用到的写过来)
    使用github遇到的问题
    java将数据库中菜单表中内容转化成一个导航树
    使用python自动发放员工工资条到个人邮箱
    zabbix图形中文乱码
  • 原文地址:https://www.cnblogs.com/suanguade/p/4038071.html
Copyright © 2011-2022 走看看