小编ove*_*ing的帖子

有没有人得到mach_inject在雪豹上工作?

Project现在在github上,这是我的问题的链接

我成功地编译了整个事情并且能够分别运行拒绝者和拒绝者.但是,当向目标进程注入代码时,注入器将使注入器崩溃.

mach_inject_test_injectee.app 's standard output:
mach error on bundle load (os/kern) successful
mach error on bundle load (os/kern) successful
mach error on bundle load (os/kern) successful
mach error on bundle load (os/kern) successful
mach error on bundle load (os/kern) successful
FS rep     /Users/Malic/Documents/Code/c/mach_star/mach_inject_test/build/Development/mach_inject_test_injector.app/Contents/Resources/mach_inject_test_injected.bundle/Contents/MacOS/mach_inject_test_injected
LOADDDDDDDDDD!
Assertion failed: (0), function +[injected_PrincipalClass load], file     /Users/Malic/Documents/Code/c/mach_star/mach_inject_test/injected-PrincipalClass.m, line    25.
Abort trap
Run Code Online (Sandbox Code Playgroud)

mach_inject_test_injector的标准输出

injecting into pid 3680
injecting pid
mach_inject failing.. (os/kern) successful
mach inject done? 0
hi
Run Code Online (Sandbox Code Playgroud)

从输出看来,注射器没有通知注射器,任何想法?谢谢.

macos hook code-injection

18
推荐指数
1
解决办法
2447
查看次数

关于Objective C调用约定和传递ARM的参数的问题

我想知道当我调用一个客观的C方法时,目标C运行时如何处理参数

[NSString stringWithFomat:@"%@, %@", @"Hello", @"World"]
Run Code Online (Sandbox Code Playgroud)

这个目标C调用有三个参数,与ARM系统上的典型方法相比,它是如何工作的.我知道寄存器r0,r1,r2,r3会保存前4个参数,还有其他参数怎么样?它是如何将它们放在堆栈中并在以后弹出它们的?

compiler-construction iphone assembly arm calling-convention

7
推荐指数
1
解决办法
2184
查看次数

如何评估Python中的JavaScript代码

我需要在网页上获取一些结果,它使用一些JavaScript代码来生成我感兴趣的部分,如下所示

eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--)d[c]=k[c]||c;k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('5 11=17;5 12=["/3/2/1/0/13.4","/3/2/1/0/15.4","/3/2/1/0/14.4","/3/2/1/0/7.4","/3/2/1/0/6.4","/3/2/1/0/8.4","/3/2/1/0/10.4","/3/2/1/0/9.4","/3/2/1/0/23.4","/3/2/1/0/22.4","/3/2/1/0/24.4","/3/2/1/0/26.4","/3/2/1/0/25.4","/3/2/1/0/18.4","/3/2/1/0/16.4","/3/2/1/0/19.4","/3/2/1/0/21.4"];5 20=0;',10,27,'40769|54|Images|Files|png|var|imanhua_005_140430179|imanhua_004_140430179|imanhua_006_140430226|imanhua_008_140430242|imanhua_007_140430226|len|pic|imanhua_001_140429664|imanhua_003_140430117|imanhua_002_140430070|imanhua_015_140430414||imanhua_014_140430382|imanhua_016_140430414|sid|imanhua_017_140430429|imanhua_010_140430289|imanhua_009_140430242|imanhua_011_140430367|imanhua_013_140430382|imanhua_012_140430367'.split('|'),0,{}))
Run Code Online (Sandbox Code Playgroud)

结果eval()对我来说很有价值,我正在编写一个Python脚本,是否有任何库可以用来虚拟运行这段JavaScript代码并获得输出?

谢谢

javascript python

6
推荐指数
2
解决办法
9872
查看次数

当分段故障发生时,我如何知道程序访问哪个非法地址

另外,该程序在运行Linux的arm设备上运行,我可以打印出堆栈信息并在我指定的sig-seg处理程序中注册值.问题是我无法在源文件中添加-g选项,因为由于性能降级,错误可能无法重现.

c linux embedded segmentation-fault

6
推荐指数
1
解决办法
2341
查看次数

如何加快/减慢应用程序的“时间”

我想我没有在标题中说得对。我打算做的是挂钩一些系统api,就像每次都会发生时间中断(这是操作系统中的每个应用程序解释时间的方式),并使应用程序对该api的调用返回一些更大/更小的结果。所以从应用的角度来看,时间有加速或减速的趋势。我在 Windows 上发现了一些应用程序这样做,谁能给我一些关于如何在 Mac OS X 上实现它的指示?

macos time

5
推荐指数
1
解决办法
4144
查看次数

Mach-O加载器如何加载不同的NSString对象?

我知道如果你在Mac OS的源代码中定义了一堆@""NSString对象.这些NSStrings将存储在Mach-O库中的一个段中.

Section
sectname __ustring
 segname __TEXT
    addr 0x000b3b54
    size 0x000001b7
  offset 731988
   align 2^1 (2)
  reloff 0
  nreloc 0
   flags 0x00000000
reserved1 0
reserved2 0
Run Code Online (Sandbox Code Playgroud)

如果我十六进制转储二进制文件,它们将一个接一个地与0x0000as分隔符紧密对齐.我想知道的是,当程序运行时,Mac OS X中的加载程序如何加载这些NSStrings?是否通过识别0x0000分隔符来简单地加载它们,或者这些是二进制文件中其他地方的字符串偏移表,指向单独的NSString对象?谢谢.

(我真正想要做的是增加一个NSString的长度,所以我必须知道加载器如何识别这些单独的对象)

补充:我知道如果在代码中定义类似@"abc"的CStrings,它将转到cstring段.如果它是一个像@"""这样的字符串,除了ascii字符,它将根据我的挖掘进入ustring部分.

macos mach-o objective-c loader

4
推荐指数
1
解决办法
895
查看次数

4
推荐指数
1
解决办法
2205
查看次数


如何为NSHTTPURLResponse获取正确的Set-Cookie标头?

我想使用以下代码登录到以下列方式返回其cookie信息的网站:

Set-Cookie: 19231234
Set-Cookie: u2am1342340
Set-Cookie: owwjera
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码登录该站点,但最后的print语句不会输出任何有关"set-cookie"的内容.在Snow leopard上,库似乎会自动为此站点获取cookie,之后发送的连接将使用正确的"cookie"标头设置.但是在leopard上,它不会那样工作,那么触发这个"记住某个根URL的cookie"行为?

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:uurl]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"keep-live" forHTTPHeaderField:@"Connection"];
[request setValue:@"300" forHTTPHeaderField:@"Keep-Alive"];
[request setHTTPShouldHandleCookies:YES];

[request setHTTPBody:postData];
[request setTimeoutInterval:10.0];

NSData *urlData;
NSHTTPURLResponse *response;
NSError *error;
urlData = [NSURLConnection sendSynchronousRequest:request
                                returningResponse:&response
                                            error:&error];

NSLog(@"response dictionary %@",[response allHeaderFields]);
Run Code Online (Sandbox Code Playgroud)

macos cocoa setcookie nsurlconnection

3
推荐指数
1
解决办法
6169
查看次数

1
推荐指数
1
解决办法
3008
查看次数

理解arm汇编代码结构的问题

代码如下所示,我想知道在结尾部分

0000e0b4    001d22d0    ldrsbeq r2, [sp], -r0
Run Code Online (Sandbox Code Playgroud)

这是否为这行代码进行计算,因为它加载了结束部分中定义的地址

0000e03c    e59f4070    ldr r4, [pc, #112]  ; 0xe0b4
Run Code Online (Sandbox Code Playgroud)

为什么代码以这种方式组织?

-[Cube message1]:
0000e02c    e92d40f0    push    {r4, r5, r6, r7, lr}
0000e030    e28d700c    add r7, sp, #12 ; 0xc
0000e034    e24dd008    sub sp, sp, #8  ; 0x8
0000e038    e59f1070    ldr r1, [pc, #112]  ; 0xe0b0
0000e03c    e59f4070    ldr r4, [pc, #112]  ; 0xe0b4
0000e040    e1a06000    mov r6, r0
0000e044    e591e000    ldr lr, [r1]
0000e048    e5941000    ldr r1, [r4]
0000e04c    e59e5000    ldr r5, [lr]
0000e050 …
Run Code Online (Sandbox Code Playgroud)

assembly arm otool

0
推荐指数
1
解决办法
1805
查看次数