feicong / macbook Goto Github PK
View Code? Open in Web Editor NEW《macOS软件安全与逆向分析》随书源码
License: GNU Affero General Public License v3.0
《macOS软件安全与逆向分析》随书源码
License: GNU Affero General Public License v3.0
4.10.2管理dmg p.179
hidutil->hdiutil
P/20, 第二段最后面写道: "...进行Base64加密".
Base64 只能算是一种编码方式, 而不是加密.
参考链接:
https://zh.wikipedia.org/wiki/Base64
http://www.ruanyifeng.com/blog/2008/06/base64.html
第 9 章 破解技术 9.4.2 SymbolTable Hook 355 页,底部注释 :
① ishhook 下载地址:
拼写错误,应为: ① fishhook 下载地址:
p101
text Failed ---->text Field
第1章,1.3节。13页,配图1-12错误,图中所示为 jnz loc_100000f13 , 应改为 jnz loc_100000f06.
199页第一行,错别字
这里只用32位寄存器是应为x86_x64的机制 -------->因为
希望拜读一下这本书,希望能在README里贴上网店链接
在研究第五章的汇编时
将如下C程序
uint64_t foo(uint64_t a1,uint64_t a2,uint64_t a3,uint64_t a4,uint64_t a5,uint64_t a6,uint64_t a7,uint64_t a8,uint64_t a9,uint64_t a10,uint64_t a11) {
return a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11;
}
编译后得到如下汇编代码
## BB#0:
push rbp
mov rbp, rsp
lea rax, [rdi + rsi]
add rax, rdx
add rax, rcx
add rax, r8
add rax, r9
add rax, qword ptr [rbp + 16]
add rax, qword ptr [rbp + 24]
add rax, qword ptr [rbp + 32]
add rax, qword ptr [rbp + 40]
add rax, qword ptr [rbp + 48]
pop rbp
ret
和书上的例子基本上是相同的
但是有个问题:
为何第七个参数是从[rbp + 16]开始的
而不是[rbp+8]?
因为目测push了所有7-11的参数入栈后
就进入了foo
接着就push rbp
之后再也没有push
这里应该只用了8bytes吧
最后把rbp定位到rsp
我的理解就是找第七号元素只需要[rbp+8]
还请诸位不吝赐教。
1.3 使用HT Editor进行破解
我这里快捷键不是fn+F1....
用的esc+f1......
捣鼓了很久😂
1.189页“字符串”一节“用于定义类似于C语言字符串字面量的的字符串”多了一个的字
2.191页图5-2下面的第二行文字的“REX”寄存器应为“RAX”寄存器
3.193页第10行助记符的英文错了,应为mnemonic
4.196页“5.4.5 栈操作指令”一节的第三行“这个区域分为两堆和栈个部分”应为“这个区域分为堆和栈两个部分”
RT
首先非常感谢书和相应的源码。我有一个建议,即提供crackm的binary,做练习之用。当然可以从源码build,不过还是不如直接有binary方便。
Apple 的东西更新很快, 电子书可以较快的跟上 Apple 的节奏.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.