当前位置:首页 > 原创视频教程 > 共享视频教程 > 逆向分析 > 详细内容
F8 CALL 01“计算和”分析视频教程
发布时间:2009/6/5  阅读次数:20902  字体大小: 【】 【】【

【文章标题】: F8 CALL 01 “计算和”分析视频教程
【文章作者】: redrose
【作者邮箱】: xiao_xiao0928@tom.com
【作者主页】: www.wgbcw.cn
【作者QQ号】: 644297310
【软件名称】: F8 CALL 01
【软件大小】: 423KB
【下载地址】: 自己搜索下载
【加壳方式】: 无
【保护方式】: 无
【编写语言】: Delphi
【使用工具】: Ollydbg、屏幕录像专家V7.5、Code Injector、Delphi7.0
【操作平台】: XPSP3
【软件介绍】: CALL分析小程序
【作者声明】: 感谢F8 CALL源程序提供作者,没有其他目的。失误之处,敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
   说明:1、为了能上传网站,我把每个视频都尽量的缩小。本次视频只对F8 CALL 01中的“计算和”做分析。
               2、本来想录制有声视频的,但这个录像专家还存在录制声音就出错的Bug。
   分析步骤:
  
   第一步:Ollydbg附加目标程序(也可以直接载入程序)。Ollydbg我已经打开了,好了现在附加目标程序成功。
  
   第二步:下断点bp send。然后回到目标程序,点击“计算和”按钮,好了已经断下。我们来到这里F2下断点,断下注意看
   寄存器里的变化,刚才看了下,应该看出什么了吧,这里确定就是我们要找的“计算和”按钮CALL,至于到底有几个参数,
   我们来测试下。
  
   第三步:测试CALL的正确性。工具用Code Injector,这工具很方便的。看我演示:
   1、打开进程
   2、编写汇编代码如下:
   push 0023
   push 0012
   push 00A77170
   CALL 00459924
   3、点击CreateRemoteThread按钮,测试成功。
  
   4、现在我们再输入另一组数字试下。
   我们输入了12和18计算和,演示成功。
  
   第四步:我们来看下CALL 00408858 这个有何用。通过分析为10进制文本字符进入转成16进制字串输出,这里估计是源程序
   作者有意用上的,因为感觉用上这几个就很难分析出来“计算和”按钮CALL到底是那个。当然这点上只是猜测。
   好了,现在我们来编写个小程序来测试下。
  
   第五步:编写测试程序。我用Delphi7.0为大家做个演示。
   现在这个测试程序写好了,用注入器把DLL注入到目标进程,看演示。呵呵出错了,看来这方法不行,这样也不行,得找原因了。
   呵呵是不是成功了。现在我们在试下刚才的两种方法。
  
   1、代码如下:
   var
       a,b :Integer ;
       addr1:Pointer ;
   begin
       a := StrToInt(edt1.Text);
       b := StrToInt(edt2.Text);
       addr1 :=Pointer($00459924);
       asm
           push a
           push b
           push $00A77170 //呵呵刚才大意了这里不是这个值
           call addr1
       end;
   end;
   已经通过。
  
   2、代码如下:
   var
       a,b :Integer ;
   begin
       a := StrToInt(edt1.Text);
       b := StrToInt(edt2.Text);
       asm
           push a
           push b
           push $00A77170 //呵呵刚才大意了这里不是这个值
           mov eax,$00459924
           call eax
       end;
   end;
   是不是又成功了。
  
   3、我们再试试这样的代码:
   const addr1:Pointer = Pointer($00459924);
   var
       a,b :Integer ;
   begin
       a := StrToInt(edt1.Text);
       b := StrToInt(edt2.Text);
       asm
           push a
           push b
           push $00A77170 //呵呵刚才大意了这里不是这个值
           call addr1
       end;
   end;
  
   这样的方法也行,不管用那种方法目的只是一个,能正确调用“计算和”按钮。
  
   我们现在改改加数和被加数试下,看演示,是不是都提示“等待服务器响应...
      
   服务器:两数的和为:XXX
   ”
   好了本次视频就到这里,希望大家能看明白了,同时也希望这次公布教程后,QQ别在被盗。下次再继续。谢谢!
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于潇潇的编程网站, 转载请注明作者并保持文章的完整, 谢谢!

                                                                                                             2009年04月17日 23:48:29

上一篇:没有了! 下一篇:F8 CALL 01“计算积”分析视频教程
我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
    暂无已审核评论!
 


设为首页 | 加入收藏 | 意见建议 | 友情链接 | 版权声明 | 管理登陆 | 编程论坛 | 给我留言

声明:本网站部分稿件来源的所有文字、图片和音视频稿件,来自互联网,若侵犯您的权利,请来信告知,我们将在第一时间内删除!


Copyright 2009-2022 redrose ( wgbcw.com ) All rights reserved ICP备案编号:滇ICP备09007156号 Dict.cn


点击这里给我发消息
点击这里给我发消息