我爱反汇编、反编译、反相,请问如何提高?

siva 2000-06-28 12:02:00
应该多学习什么,多实战练习什么?
...全文
446 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alex106 2001-02-01
  • 打赏
  • 举报
回复
简单

我给你一个程序带密码的

等你把密码破了,你也就基本精通了
舟中夜起 2001-01-15
  • 打赏
  • 举报
回复
IDA哪有下载?
舟中夜起 2001-01-15
  • 打赏
  • 举报
回复
我用sourcer7反汇编了驱动程序,研究了一个星期,收获不小
茂奇软件 2001-01-14
  • 打赏
  • 举报
回复
RuFeng
where are you .
I'm in Shanghai.
zhangzhonghua 2001-01-11
  • 打赏
  • 举报
回复
关注。
RuFeng 2000-07-04
  • 打赏
  • 举报
回复
哈哈。。。。。我也同样喜欢这样的工作,不过太浪费时间了,我正在反ice的汇编,哈哈。。。。难啊!要看明ice的工作原理,真是难啊!希望有机会和老兄交流一下!我也很同意,符号式的汇编我觉得有时比C还好读!
jiangtao 2000-06-29
  • 打赏
  • 举报
回复
工具:
用IDA,这是最好的反汇编工具
破解和调试
用Soft-ice
实战:
多研究系统,选两三个有意义的程序练习
Leex2000 2000-06-29
  • 打赏
  • 举报
回复
我也喜欢反汇编和反编译,仅在此把自己在做这些工作的心得:
首先我最喜欢的是反汇编,工作的对象主要是 VC/C++ 编译的程序,有很多时候需要学习别人是如何做的,反汇编是唯一能获得对方技术的手段。最主要的两个工具 SoftIce 和 IDA Pro, 首先我用 IDA Pro 反汇编可执行程序, 注意 IDA 中的 I 表示的是"交互",如果你用 IDA 而不用它的交互功能的化,就完全失去了使用它的意义。一般来说,IDA 会把一大堆的 C/C++ 标准函数替你找出来,省去了你很大的时间。然后从头到尾把程序过一遍,CTRL-U 能帮你找出很多 IDA 不能处理的地方,然后根据自己的经验,如果是 Code 就按 C, 如果是 Data 就按 D, 其实有的时候 IDA 反出的结果并不正确,例如把某些 Data 当作了 Code, 这时候先按 U 恢复成原始状态, 然后按 D. 总之你可以根据自己的经验很随意的规定反汇编的方式。把大部分代码处理完后,从调用 WinAPI 或 CLIB 的函数开始入手,看懂某个函数的功能(最好运行 VC, 不懂的 WinAPI 就查查 VC MSDN 中 SDK 的帮助),然后在函数名前面按 N(rename) 把名字改为自己理解的函数名,例如 FindDigitalFromString. 就这样一级级的向上改(可能有几百个函数),等处理的差不多了, 程序的流程也就很清晰的显示出来了。注意有很多 WinAPI 的接口可能是个结构指针,而 IDA 是不会帮你把结构反出来的,如果你发现某个结构被使用可以在 View/Struct 中定义出来,然后你就能把 [esi+0ah] 之类的东西变成 [esi+xxx.len] 的定义,看上去非常清晰,而且每个函数的入口参数和局部变量也可以通过按 CTRL-K 来重命名。当你看到你大堆杂乱无章的汇编程序变成一个个条理清晰的函数的时候,心情一定会很愉快的。另外当你不确定程序的变量是什么含义的时候,或者程序有一大堆条件跳转的时候,用 SoftIce 跟踪一下是非常好的方法,在这里你可以把你在 IDA 中处理完的结果输出成 .map 文件,然后在 SoftIce for Win 的 Util16 目录下用 msym 工具生成 .sym 文件,然后用 SoftIce Symbol Loader 加载这个符号表,然后再加载可执行文件,怎么样,所有你刚才在 IDA 中定义过的名字是不是都能看见了。好了,先说到这,写的是不是太罗嗦了。
Leex2000 2000-06-29
  • 打赏
  • 举报
回复
我也喜欢反汇编和反编译,仅在此把自己在做这些工作的心得:
首先我最喜欢的是反汇编,工作的对象主要是 VC/C++ 编译的程序,有很多时候需要学习别人是如何做的,反汇编是唯一能获得对方技术的手段。最主要的两个工具 SoftIce 和 IDA Pro, 首先我用 IDA Pro 反汇编可执行程序, 注意 IDA 中的 I 表示的是"交互",如果你用 IDA 而不用它的交互功能的化,就完全失去了使用它的意义。一般来说,IDA 会把一大堆的 C/C++ 标准函数替你找出来,省去了你很大的时间。然后从头到尾把程序过一遍,CTRL-U 能帮你找出很多 IDA 不能处理的地方,然后根据自己的经验,如果是 Code 就按 C, 如果是 Data 就按 D, 其实有的时候 IDA 反出的结果并不正确,例如把某些 Data 当作了 Code, 这时候先按 U 恢复成原始状态, 然后按 D. 总之你可以根据自己的经验很随意的规定反汇编的方式。把大部分代码处理完后,从调用 WinAPI 或 CLIB 的函数开始入手,看懂某个函数的功能(最好运行 VC, 不懂的 WinAPI 就查查 VC MSDN 中 SDK 的帮助),然后在函数名前面按 N(rename) 把名字改为自己理解的函数名,例如 FindDigitalFromString. 就这样一级级的向上改(可能有几百个函数),等处理的差不多了, 程序的流程也就很清晰的显示出来了。注意有很多 WinAPI 的接口可能是个结构指针,而 IDA 是不会帮你把结构反出来的,如果你发现某个结构被使用可以在 View/Struct 中定义出来,然后你就能把 [esi+0ah] 之类的东西变成 [esi+xxx.len] 的定义,看上去非常清晰,而且每个函数的入口参数和局部变量也可以通过按 CTRL-K 来重命名。当你看到你大堆杂乱无章的汇编程序变成一个个条理清晰的函数的时候,心情一定会很愉快的。另外当你不确定程序的变量是什么含义的时候,或者程序有一大堆条件跳转的时候,用 SoftIce 跟踪一下是非常好的方法,在这里你可以把你在 IDA 中处理完的结果输出成 .map 文件,然后在 SoftIce for Win 的 Util16 目录下用 msym 工具生成 .sym 文件,然后用 SoftIce Symbol Loader 加载这个符号表,然后再加载可执行文件,怎么样,所有你刚才在 IDA 中定义过的名字是不是都能看见了。好了,先说到这,写的是不是太罗嗦了?
Leex2000 2000-06-29
  • 打赏
  • 举报
回复
我也喜欢反汇编和反编译,仅在此把自己在做这些工作的心得:
首先我最喜欢的是反汇编,工作的对象主要是 VC/C++ 编译的程序,有很多时候需要学习别人是如何做的,反汇编是唯一能获得对方技术的手段。最主要的两个工具 SoftIce 和 IDA Pro, 首先我用 IDA Pro 反汇编可执行程序, 注意 IDA 中的 I 表示的是"交互",如果你用 IDA 而不用它的交互功能的化,就完全失去了使用它的意义。一般来说,IDA 会把一大堆的 C/C++ 标准函数替你找出来,省去了你很大的时间。然后从头到尾把程序过一遍,CTRL-U 能帮你找出很多 IDA 不能处理的地方,然后根据自己的经验,如果是 Code 就按 C, 如果是 Data 就按 D, 其实有的时候 IDA 反出的结果并不正确,例如把某些 Data 当作了 Code, 这时候先按 U 恢复成原始状态, 然后按 D. 总之你可以根据自己的经验很随意的规定反汇编的方式。把大部分代码处理完后,从调用 WinAPI 或 CLIB 的函数开始入手,看懂某个函数的功能(最好运行 VC, 不懂的 WinAPI 就查查 VC MSDN 中 SDK 的帮助),然后在函数名前面按 N(rename) 把名字改为自己理解的函数名,例如 FindDigitalFromString. 就这样一级级的向上改(可能有几百个函数),等处理的差不多了, 程序的流程也就很清晰的显示出来了。注意有很多 WinAPI 的接口可能是个结构指针,而 IDA 是不会帮你把结构反出来的,如果你发现某个结构被使用可以在 View/Struct 中定义出来,然后你就能把 [esi+0ah] 之类的东西变成 [esi+xxx.len] 的定义,看上去非常清晰,而且每个函数的入口参数和局部变量也可以通过按 CTRL-K 来重命名。当你看到你大堆杂乱无章的汇编程序变成一个个条理清晰的函数的时候,心情一定会很愉快的。另外当你不确定程序的变量是什么含义的时候,或者程序有一大堆条件跳转的时候,用 SoftIce 跟踪一下是非常好的方法,在这里你可以把你在 IDA 中处理完的结果输出成 .map 文件,然后在 SoftIce for Win 的 Util16 目录下用 msym 工具生成 .sym 文件,然后用 SoftIce Symbol Loader 加载这个符号表,然后再加载可执行文件,怎么样,所有你刚才在 IDA 中定义过的名字是不是都能看见了。好了,先说到这,写的是不是太罗嗦了。
Un1 2000-06-28
  • 打赏
  • 举报
回复
Softice, 不过建议考虑一下此种技能的实用性问题。
siva 2000-06-28
  • 打赏
  • 举报
回复
softice正用着呐~~
方向?

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧