作者eentut (四叶幸运草)
看板ASM
标题Re: [问题] 反组译问题
时间Thu Oct 7 23:24:41 2010
※ 引述《monemine74 (牧童)》之铭言:
: 最近看书试写一个转档程式
: 只是对方的文件进行了加密
: 转完的档案部分成功 部分失败
: 部分反组译:http://nopaste.csie.org/5b28f
: 组合语言翻着书对照看 看到最後搞得自己有点混乱 orz
: 上来求助希望没触到板规 > <
: 网址是一部分的程式
: (因为不太了解组语 抓取用了关键字搜寻
: 最後复制可能为公式的程式码 不确定有没有断头尾 或抓错地方 @@)
: 主要是想找出程式的规则(公式)
: 有加注解的几行应该是重点
: 像是第 十五行 ;Switch (cases 0..DA)
: 第二十二行 ;Cases 0,2,4,6 of switch 0F0590D7
: :
: 第四十八行 ;Cases C0,C4,C8,CC of switch 0F0590D7
: :
: (略)
: 如果照第十五行的注解
: 意思会是 数值只会有 0~DA ? 还是只针对 0~DA?
整个code转成C为(约略写出):
switch(xxx)
{
Case 0,2,4,6:
...;
break;
Case 1,3,5,7:
...;
break;
Case C0,C4,C8,CC:
...;
break;
Case C2,C6,CA,CE:
...;
break;
Case 8,D0:
...;
break;
Case D,DA:
...;
break;
Default:
break;
}
所以才说你反组译没用 组语只是照你高阶语言所要求的做很多判断和jump而已
: 第四十八行的意思是不是 若数值为 C0、C4、C8、CC 等 数值就减去 C0?
不是单纯减数值 请参阅组语lea解释
: 请问第六十七和七十二行又分别是什麽意思呢?
请参阅组语的书 byte ptr
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.85.221.123
1F:推 monemine74:常常把指标看成数值 搞得非常混乱 @@ 非常感谢您的解答 10/08 02:05