飘云阁

用户名  找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 8608|回复: 11

[讨论] 穿山甲壳的问题(概念问题)

[复制链接]
  • TA的每日心情
    开心
    2024-2-23 20:03
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2008-7-8 12:41:41 | 显示全部楼层 |阅读模式
    我在学习脱壳时,直到这一刻,才知自己是多么的才疏学浅,这次虽然问题有点多,还是望朋友相助,根据红色括号内容回答

    穿山甲壳单线程的标准法----2次断点法he GetModuleHandleA+5;bp GetCurrentThreadId
    1先下he GetModuleHandleA+5--说是为了逃过iat加密(输入地址表加密),iat在程序中起着什么作用呢(简述下程序正常执行的流程)?所谓的加密壳是不是就是在加密IAT(回答是,否,不一定)?
    2GetModuleHandleA该函数在程序中的作用是什么(简述)?
    3下完断点后,shiftf9运行一次,此时所停在的地方是不是之前下断的那个函数的地方?(回答是与否)
    4然后不断的shiftf9(说是跟踪),这每一次运行后所停在的地方是不是接下来的该函数的地方(如果是的话,就说明一个程序可以有多5个同样的函数了)(回答是与否)?
    6在 一次时间缓冲比较大的地方取消断点---这缓冲大的地方代表着什么呢(说明程序怎么样了呢)?
    7后altf9执行到用户代码,执行到用户代码是什么意思呢,难道之前不是在实行吗(之前不断的shiftf9)?(详细回答)
    8之后还要找MAGICjump把它改掉---这一跳代表着什么,跳过加密部分了?(解析下代码的含义-说明下程序是怎么想的)
    9之后是第二次断点,说是跳到离oep最近的函数,我困惑,他怎么直到离oep最近的是这个函数呢(你怎么想)
    10之后是在一个callf7跟入,为什么不是跳到oep(就是单步走到),和平时不太一样(简述理由)
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-9-3 19:13:11 | 显示全部楼层
    我来帮楼主顶一下  期待高手来
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2025-1-14 17:53
  • 签到天数: 235 天

    [LV.7]常住居民III

    发表于 2008-9-4 08:29:44 | 显示全部楼层
    多看看黑鹰或者天草的视频教程 自己就会解决的
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-9-4 09:00:31 | 显示全部楼层
    学习中............
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-10-13 13:54:37 | 显示全部楼层
    这个问题不知道楼主解决没有       可能时间久了也就懂了
    但是现在对于上面的问题恰巧很多憋在心里难受  

    就比如说   如果穿山甲是未知壳  你上来就这两个断点?

    希望高手解答下  不要不屑  谢谢你们
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-10-13 14:32:16 | 显示全部楼层
    帮楼主顶下,我也期待高手来,呵呵~
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-10-13 22:00:32 | 显示全部楼层
    教程里面说得都还清楚了
    1:IAT是做什么还要问??
    2:GetModuleHandleA    取一个应用程序或动态链接库的模块句柄声明
    GetCurrentThreadId   获取当前线程一个唯一的线程标识符  
    是两个API

    3:你看OD下面的提示,是异常还是断点处。。一看不就知道了?
    4:有很多异常的。。。看OD提示
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-10-14 01:02:11 | 显示全部楼层
    原帖由 CorpUlent 于 2009-10-13 22:00 发表
    教程里面说得都还清楚了
    1:IAT是做什么还要问??
    2:GetModuleHandleA    取一个应用程序或动态链接库的模块句柄声明
    GetCurrentThreadId   获取当前线程一个唯一的线程标识符  
    是两个API

    3:你看OD下面的 ...


    感觉还是没回复到点子上  IAT是做什么当然知道    API的含义当然也懂  
    顶这个帖子 是感觉帖子里问题的实际的操作原理是什么呢?
    就比如说 为什么GetModuleHandleA这个断点就必须是majic跳?(这个是对于已经分析完了的结果 ,如果就当成一个未知壳怎么去调试呢?)
    改JMP跳过检测是怎么分析的?也没说具体原理,只是手把手的做
    再比如第一个断点下了以后  shift+F9  都说的是自己感觉  要在缓冲比较大的地方返回  
    而我的机器第二下shift会有相当大的一个缓冲带    那时候根本不可能返回  是个系统领空
    最后它可以自己断在断点处     看堆栈的话 可以很明显的看出返回是由  一个系统函数返回到程序领空的
    所以我想这个  靠感觉去找返回时机是不是有点出入呢?而找合适的返回时机是不是应该仔细观察堆栈调用而不是去感觉哪里缓冲带比较大吧?
    (恕我白痴的,以前有看最佳返回时机的文章,不过那时候菜的不懂,一会我会再补补,还请各位大们不吝赐教指点)
    第二个断点我机器根本就返回不到   我自己调试然后修改一个跳转   执行下面一个call才进入了OEP  而且这个call不是call的EDI 而是一个地址
    好不容易脱完壳  cut掉无效指针抓取了一下  还是出现了错误 不能执行
    --------------------------------
    上面的问题有想解释的就给解释下吧  非常感谢
    天才的教程感觉不适合我   因为我不属于那种给一口吃一口的人  天草的教程恰恰没有解释原理性的东西 很少
    我对于新事物不能理解他的原理的话  会很憋得慌  全靠自己去悟  高手都知道这个是很浪费时间的
    可能一个小问题花了你很多时间   当然你学了其他很多东西 但是有点不成正比
    但愿这次的引导小组教学能顺利加入   不知道有没有才德兼备的前辈带一下 可以的话给留言  谢谢了
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-10-14 01:06:48 | 显示全部楼层
    果然高手都不带鸟的 /:011
    中午四五个小时    在好几个群喊  一看是1.xx——2.xx还是单线程就不爱鸟我了
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-4-29 07:52
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-10-14 06:48:18 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表