zoukankan      html  css  js  c++  java
  • 【吾爱破解第二期】操作学习笔记

    这期讲师是kido,感谢kido。

    一,API( application programing interface):

    【在window上程序需要弹窗之类等等操作都需要调用系统的API才能实现】

    MessageboxA/W 消息框

    ShellexecuteA/W 控制台执行

    方法 open url

    WinExec Windows执行

    方法 explorer.exe url

    CreateProcessA/W 创建进程

    方法 path url

    CreateThread 创建线程

    Reg Create KeyExA/W 注册表 创建 键值

    Reg Open KeyExA 注册表 打开 键值

    Reg Delete KeyExA/W 注册表 删除 键值

    二,脱upx壳

    手工脱工具:Scylla 步骤:OD ctrl+B 搜索 00 00 00 00 00 00 00 00 00 找到jmp F2下断点 到断点后单步走,然后把单步到的地方ctrl+X复制出地址 ,用Scylla搜索这个地址,否,然后dump出来,再把dumo出来的文件修复,就OK了。 传统方法:ESP定律 内存方法

    三,C32Asm分析文件

    由于是软件是弹窗广告,搜索http,右键用十六进制00 把搜索到的 explore http:www.XXX.com 填充。

    注:为了让程序在多语言环境中run,字符集中有 小点填充,A和W的意思是就是 ansi(ascii) ,WideChar(Unicode)。

    三,用od分析实例1

    找到expore弹窗广告的push地址,左下角ASCII数据ctrl+G转到地址,选文本型32位可查看到广告,右键二进制用00填充。(如果带壳会出现 可执行文件无法定位数据)。

    ShellexecuteA/W 和 WinExec 接口一般人都会用来弹广告。

    当别人用MessageboxA/W弹广告时,可以用F12大法(暂停)开始分析,OD上点击K,可以查看应用调用的堆栈,进入messagebox之后,在retn的地方下断点。去掉,单步F7走,右下角可直观的看到messagebox的函数参数,把函数所有参数直接右键二进制nop填充。如果只nop一部分,残余的东西推入堆栈,retn返回的堆栈数量不一致,程序会崩溃。或者直接汇编jmp跳过函数

    智能搜索字符串搜不到的情况下,如何找到所有广告呢,直接给所有的api下断点,用NOP大法解决。

    注意nop的数量要和OD右下角进堆栈的数量一样。

    四,实例2 快速脱北斗壳NsPack

    常见的方法有ESP定律,这里用了kido老师的快速方法。ctrl+F popad,直到查找到jnz,retn,retn,在第二个retn下断点,跑到断点,单步,右键分析,从模块中删除分析,到了call,用scylla搜索这个地址,老办法dump+fix dump即可。

    五,分析实例2

    直接搜索字符串,发现是修改注册表的,nop的话太多了,直接在call头push处使用retn大法

    发现软件内有内置的浏览器广告,可以用ResEdit 分析,kido用的是ResScope_Hacker 比较老,不推荐。例外,易语言的资源是自己模拟的,用这种办法不可以。

    右下角出现弹窗,用ProcExp可以分析其是哪一个程序的广告。创建窗口的api有CreatewindowExW(创建窗口)和Dialogbox(对话框),直接搜是搜不到的,Dialogbox原型是DiaogBoxParamA/W,Ctrl+G(跟随表达式) 搜索API名字,下断点分析。用三大法解决。

    VB是调用自己的API弹广告,有个弹广告通用解法 winHex直接00抹掉字符串

    最后kido还介绍了俩工具:procmon和api monitor 都可以分析应用所有的行为

    这节课最有价值的东西是 nop retn F12三大法!

  • 相关阅读:
    Android--Android studio --布局管理
    Android--Android studio --Activity
    Android--Android studio --app运行
    Android--Android studio 工程目录分析
    Java--Niit-ch2--Location本地化问题
    C--循环实现和递归实现的比较
    C--函数调用
    【未完待续】Java蓝桥杯--算法训练 数学知识的运用
    【未完待续】Java蓝桥杯--算法训练(1)典型问题的递归框架
    NIIT2--JAVA活动(一)制作内部类 正则内部类
  • 原文地址:https://www.cnblogs.com/tqing/p/10505893.html
Copyright © 2011-2022 走看看