爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
楼主: MrJewes
收起左侧

【专题文章】西门子6688Flash修改入门的入门

[复制链接]
发表于 2005-8-10 00:20:00 | 显示全部楼层
精华东东,我看不是一下就能入门的!
发表于 2005-8-10 00:21:00 | 显示全部楼层
小3的CPU能访问的地址空间也是16M吧!!
发表于 2005-8-10 00:22:00 | 显示全部楼层
我也来看看,留些印象
发表于 2005-8-10 00:23:00 | 显示全部楼层
以下是引用MrJewes在2003-12-31 18:01:28的发言:

首先,西门子在开发小8的时候肯定用的是C语言,他们把C语言汇编成HEX代码然后刷到小8里面去,我们就只有这些HEX代码。我们说的反汇编就是把这些HEX代码变成小8CPU的汇编代码(我们要分析的就是这个),不是C代码。

能以整点报时这个补丁做例子给我讲一下么?我真的想学
发表于 2005-8-10 00:24:00 | 显示全部楼层
哦呵呵看不懂也要顶啊
发表于 2005-8-10 00:25:00 | 显示全部楼层
董语言及结构的才算是高手,很幸运认识你们。但也需要维护解决问题的高手,能出一个通俗易懂的帖子会更好。
发表于 2005-8-10 00:26:00 | 显示全部楼层
以下是引用MrJewes在2003-12-31 18:01:28的发言:

首先,西门子在开发小8的时候肯定用的是C语言,他们把C语言汇编成HEX代码然后刷到小8里面去,我们就只有这些HEX代码。我们说的反汇编就是把这些HEX代码变成小8CPU的汇编代码(我们要分析的就是这个),不是C代码。


要是能反编译成C,那多好呀:)
发表于 2005-8-10 00:27:00 | 显示全部楼层
靠,想不景仰都不行!
发表于 2005-8-10 00:28:00 | 显示全部楼层
反汇编成c是不可能的,反汇编只能把机器语言(就是那些英文啊数字啊的东东)变回汇编语言(就是那些mov r1,#12h等等的东西),汇编也是一种比较繁琐的语言,干什么都要一步一步来,c就能用一句代替好多句,看起来亲近多了.

我学了一个学期的汇编,自己觉得没有学的很好,辜负了小8啊,
我现在学习太忙了,不然我早就参加了修改行列了.

如果大家想学汇编的话可以找本intel 8086的书看看,这种书很多不过各种cpu的汇编指令是不同的,不过也有共性,那种思想是相通的.
当然能找到亿衡c166的书更好了,但是太少了,我在我学校的图书馆只查询到一本(被我借了,嘻嘻,全校10000人才只能共享一本啊,我借的时候发现那本书一两年来还没有被人借过,真是悲哀啊)
 楼主| 发表于 2005-8-10 00:29:00 | 显示全部楼层
小8在开发的时候肯定采用了C语言,所以在分析的时候,尽量站在C语言的角度来看,当然这有点困难,也是我的一种想法!
发表于 2005-8-10 00:30:00 | 显示全部楼层
太好了,MrJewes大侠!
我一定好好学!

2004年第一个顶!
发表于 2005-8-10 00:31:00 | 显示全部楼层
是不是要先学好汇编呀?
发表于 2005-8-10 00:32:00 | 显示全部楼层
期待下一集!
发表于 2005-8-10 00:33:00 | 显示全部楼层
保存下来!
一定看!
发表于 2005-8-10 00:34:00 | 显示全部楼层
汗ing。。。。幸好C和汇编我都学过一些,算是知道程序是怎么实现的。
不过反汇编我就玩了,(毕竟不是计算机专业,俺是工科出身)

比如这一行:ROM:BF0BD0        cmp     r2, #0

BF0BD0  是如何和  cmp    r2, #0  联系起来的?(如何对应?)
或者说,我写出了cmp    r2, #0,怎样将其变为可执行的代码?
 楼主| 发表于 2005-8-10 00:35:00 | 显示全部楼层
以下是引用smartjill在2004-1-1 9:57:46的发言:
汗ing。。。。幸好C和汇编我都学过一些,算是知道程序是怎么实现的。
不过反汇编我就玩了,(毕竟不是计算机专业,俺是工科出身)

比如这一行:ROM:BF0BD0        cmp     r2, #0

BF0BD0  是如何和  cmp    r2, #0  联系起来的?(如何对应?)
或者说,我写出了cmp    r2, #0,怎样将其变为可执行的代码?


你学过C和汇编就没有问题的,其实我们做补丁也只用了很少的一点汇编知识,关键是很难找到相关函数的地址,这里面有很多猜测和假设的成分,当然交流也很重要!
发表于 2005-8-10 00:36:00 | 显示全部楼层
以下是引用MrJewes在2004-1-1 12:03:18的发言:


你学过C和汇编就没有问题的,其实我们做补丁也只用了很少的一点汇编知识,关键是很难找到相关函数的地址,这里面有很多猜测和假设的成分,当然交流也很重要!


既然是这样,我记得大虾说过现在还不能做接通电话提示为震动的原因是因为没有找到震动函数,现在很多JAVA游戏都支持震动的功能了,跟JAVA的游戏的程序员交流不就可以找到震动函数了??
 楼主| 发表于 2005-8-10 00:37:00 | 显示全部楼层
因为Java它使用的是西门子提供的类库,相当于是西门子提供了一个函数vibar(), 给Java使用,但是实现的细节并不知道。
发表于 2005-8-10 00:38:00 | 显示全部楼层
以下是引用smartjill在2004-1-1 9:57:46的发言:
汗ing。。。。幸好C和汇编我都学过一些,算是知道程序是怎么实现的。
不过反汇编我就玩了,(毕竟不是计算机专业,俺是工科出身)

比如这一行:ROM:BF0BD0        cmp     r2, #0

BF0BD0  是如何和  cmp    r2, #0  联系起来的?(如何对应?)
或者说,我写出了cmp    r2, #0,怎样将其变为可执行的代码?

你说的ROM:BF0BD0        是地址,在这个地址处有一句cmp r2,#0的指令.

我也是工科的,不知道你有没有学过,我想那些指令就是通过一种编码编成机器语言,就是我们看到的vkp内容的那种形式,而我们要做的就是把这些vkp形式的东西解码成汇编语言,这样才能修改.

这是我目前的理解,不知道对不对,请指正!!
发表于 2005-8-10 00:39:00 | 显示全部楼层
好帖……可惜我自己没电脑
您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2025-8-11 15:11

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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