• 昨天中午壳终于被脱掉了,但是问题来了


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

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

    图片

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

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

    第三个函数是重点,

    图片 

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

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

    下面的跳转就很诡异。

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

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

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

    最后一个call ,原子--

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





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

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

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

    没有源码,没有符号,毛提示都没有。。。。我继续。。。。 
  • 相关阅读:
    更改THttpClientSocket连接超时时间
    咏南跨平台中间件REST API
    INDY10 BASE64编码
    HTTP协议之multipart/form-data
    WWF3动态修改工作流<第九篇>
    WWF3自定义活动<第八篇>
    WWF3追踪功能<WWF第六篇>
    WWF3状态机工作流<WWF第七篇>
    WWF3的持续化<第五篇>
    WWF3事务和异常处理类型活动<第四篇>
  • 原文地址:https://www.cnblogs.com/suanguade/p/4038071.html
Copyright © 2020-2023  润新知