├── Inject_FScript.workflow
└── Contents
│ ├── Info.plist
│ ├── QuickLook
│ └── Preview.png
│ └── document.wflow
├── README.md
├── pic1.png
└── pic2.png
/Inject_FScript.workflow/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSServices
6 |
7 |
8 | NSMenuItem
9 |
10 | default
11 | Inject_FScript
12 |
13 | NSMessage
14 | runWorkflowAsService
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Inject_FScript.workflow/Contents/QuickLook/Preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamnemecek/FScriptAnywhere/faafc445aec5518c95d9ceac5388e5ec32d79704/Inject_FScript.workflow/Contents/QuickLook/Preview.png
--------------------------------------------------------------------------------
/Inject_FScript.workflow/Contents/document.wflow:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AMApplicationBuild
6 | 381
7 | AMApplicationVersion
8 | 2.4
9 | AMDocumentVersion
10 | 2
11 | actions
12 |
13 |
14 | action
15 |
16 | AMActionVersion
17 | 1.2.1
18 | AMApplication
19 |
20 | TextEdit
21 |
22 | AMParameterProperties
23 |
24 | enteredRTFDData
25 |
26 | enteredRTFDText
27 |
28 | enteredText
29 |
30 |
31 | AMProvides
32 |
33 | Container
34 | Single
35 | Types
36 |
37 | com.apple.cocoa.attributed-string
38 |
39 |
40 | AMRequiredResources
41 |
42 | ActionBundlePath
43 | /System/Library/Automator/Get Specified Text.action
44 | ActionName
45 | Get Specified Text
46 | ActionParameters
47 |
48 | enteredRTFDData
49 |
50 | cnRmZAAAAAADAAAAAgAAAAcAAABUWFQucnRm
51 | AQAAAC6QAQAAKwAAAAEAAACIAQAAe1xydGYx
52 | XGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYx
53 | MjY1CntcZm9udHRibFxmMFxmc3dpc3NcZmNo
54 | YXJzZXQwIEhlbHZldGljYTt9CntcY29sb3J0
55 | Ymw7XHJlZDI1NVxncmVlbjI1NVxibHVlMjU1
56 | O30KXHBhcmRcdHg1NjBcdHgxMTIwXHR4MTY4
57 | MFx0eDIyNDBcdHgyODAwXHR4MzM2MFx0eDM5
58 | MjBcdHg0NDgwXHR4NTA0MFx0eDU2MDBcdHg2
59 | MTYwXHR4NjcyMFxwYXJkaXJuYXR1cmFsCgpc
60 | ZjBcZnMyNCBcY2YwIGF0dGFjaCBwaWRub25j
61 | ZVwKcCAoY2hhcilbW05TQnVuZGxlIGJ1bmRs
62 | ZVdpdGhQYXRoOkAiL0xpYnJhcnkvRnJhbWV3
63 | b3Jrcy9GU2NyaXB0LmZyYW1ld29yayJdIGxv
64 | YWRdXApwICh2b2lkKVtGU2NyaXB0TWVudUl0
65 | ZW0gaW5zZXJ0SW5NYWluTWVudV1cCmRldGFj
66 | aFwKcXVpdH0BAAAAIwAAAAEAAAAHAAAAVFhU
67 | LnJ0ZhAAAADXmHVStgEAAAAAAAAAAAAA
68 |
69 | enteredRTFDText
70 |
71 | enteredText
72 | attach pidnonce
73 | p (char)[[NSBundle bundleWithPath:@"/Library/Frameworks/FScript.framework"] load]
74 | p (void)[FScriptMenuItem insertInMainMenu]
75 | detach
76 | quit
77 |
78 | BundleIdentifier
79 | com.apple.GetSpecifiedText
80 | CFBundleVersion
81 | 1.2.1
82 | CanShowSelectedItemsWhenRun
83 |
84 | CanShowWhenRun
85 |
86 | Category
87 |
88 | AMCategoryText
89 |
90 | Class Name
91 | AMGetSpecifiedTextAction
92 | Keywords
93 |
94 | Get
95 | Text
96 |
97 | OutputUUID
98 | 7D9853CB-34AA-471E-8252-B450EDABC325
99 | UUID
100 | 3642A3EE-C413-49F6-9F6A-F583B9D460FC
101 | UnlocalizedApplications
102 |
103 | TextEdit
104 |
105 | arguments
106 |
107 | 0
108 |
109 | default value
110 |
111 | name
112 | enteredRTFDText
113 | required
114 | 0
115 | type
116 | 0
117 | uuid
118 | 0
119 |
120 | 1
121 |
122 | default value
123 |
124 | name
125 | enteredText
126 | required
127 | 0
128 | type
129 | 0
130 | uuid
131 | 1
132 |
133 |
134 | isViewVisible
135 |
136 | location
137 | 769.500000:734.000000
138 | nibPath
139 | /System/Library/Automator/Get Specified Text.action/Contents/Resources/English.lproj/main.nib
140 |
141 | isViewVisible
142 |
143 |
144 |
145 | action
146 |
147 | AMAccepts
148 |
149 | Container
150 | List
151 | Optional
152 |
153 | Types
154 |
155 | com.apple.cocoa.string
156 | com.apple.cocoa.attributed-string
157 |
158 |
159 | AMActionVersion
160 | 2.2.1
161 | AMApplication
162 |
163 | Finder
164 | TextEdit
165 |
166 | AMParameterProperties
167 |
168 | checkedForDefaultEncoding
169 |
170 | newFileFolderPath
171 |
172 | isPathPopUp
173 |
174 | variableUUIDsInMenu
175 |
176 |
177 | newFileName
178 |
179 | tokenizedValue
180 |
181 | lldbtmp.txt
182 |
183 |
184 | newFileTextEncoding
185 |
186 | replaceExistingFiles
187 |
188 | textFormat
189 |
190 |
191 | AMProvides
192 |
193 | Container
194 | List
195 | Types
196 |
197 | com.apple.cocoa.path
198 |
199 |
200 | ActionBundlePath
201 | /System/Library/Automator/New Text File.action
202 | ActionName
203 | New Text File
204 | ActionParameters
205 |
206 | checkedForDefaultEncoding
207 |
208 | newFileFolderPath
209 | /tmp
210 | newFileName
211 | lldbtmp.txt
212 | newFileTextEncoding
213 | 30
214 | replaceExistingFiles
215 |
216 | textFormat
217 | 1
218 |
219 | BundleIdentifier
220 | com.apple.Automator.NewTextFile
221 | CFBundleVersion
222 | 2.2.1
223 | CanShowSelectedItemsWhenRun
224 |
225 | CanShowWhenRun
226 |
227 | Category
228 |
229 | AMCategoryText
230 |
231 | Class Name
232 | AMNewTextFileAction
233 | InputUUID
234 | 256613C1-D8BB-466B-B28C-9D6A893F868F
235 | Keywords
236 |
237 | Create
238 | Make
239 | File
240 | Text
241 | Save
242 | New
243 | Document
244 |
245 | OutputUUID
246 | 5FA32C61-F482-494D-89C9-78C866B36A2D
247 | UUID
248 | BEBA46C5-5F37-4C4D-8F05-8F824380D041
249 | UnlocalizedApplications
250 |
251 | Finder
252 | TextEdit
253 |
254 | arguments
255 |
256 | 0
257 |
258 | default value
259 | 0
260 | name
261 | newFileTextEncoding
262 | required
263 | 0
264 | type
265 | 0
266 | uuid
267 | 0
268 |
269 | 1
270 |
271 | default value
272 | 0
273 | name
274 | replaceExistingFiles
275 | required
276 | 0
277 | type
278 | 0
279 | uuid
280 | 1
281 |
282 | 2
283 |
284 | default value
285 | ~/Desktop
286 | name
287 | newFileFolderPath
288 | required
289 | 0
290 | type
291 | 0
292 | uuid
293 | 2
294 |
295 | 3
296 |
297 | default value
298 | 0
299 | name
300 | checkedForDefaultEncoding
301 | required
302 | 0
303 | type
304 | 0
305 | uuid
306 | 3
307 |
308 | 4
309 |
310 | default value
311 | Untitled.txt
312 | name
313 | newFileName
314 | required
315 | 0
316 | type
317 | 0
318 | uuid
319 | 4
320 |
321 | 5
322 |
323 | default value
324 | 0
325 | name
326 | textFormat
327 | required
328 | 0
329 | type
330 | 0
331 | uuid
332 | 5
333 |
334 |
335 | isViewVisible
336 |
337 | location
338 | 769.500000:567.000000
339 | nibPath
340 | /System/Library/Automator/New Text File.action/Contents/Resources/Base.lproj/main.nib
341 |
342 | isViewVisible
343 |
344 |
345 |
346 | action
347 |
348 | AMAccepts
349 |
350 | Container
351 | List
352 | Optional
353 |
354 | Types
355 |
356 | com.apple.applescript.object
357 |
358 |
359 | AMActionVersion
360 | 1.0.2
361 | AMApplication
362 |
363 | Automator
364 |
365 | AMParameterProperties
366 |
367 | source
368 |
369 |
370 | AMProvides
371 |
372 | Container
373 | List
374 | Types
375 |
376 | com.apple.applescript.object
377 |
378 |
379 | ActionBundlePath
380 | /System/Library/Automator/Run AppleScript.action
381 | ActionName
382 | Run AppleScript
383 | ActionParameters
384 |
385 | source
386 | tell application "System Events"
set pid to unix id of the first process whose frontmost is true
end tell
do shell script "sed -e \"s/pidnonce/" & pid & "/\" /tmp/lldbtmp.txt > /tmp/lldbtmp2"
do shell script "lldb --source=/tmp/lldbtmp2"
387 |
388 | BundleIdentifier
389 | com.apple.Automator.RunScript
390 | CFBundleVersion
391 | 1.0.2
392 | CanShowSelectedItemsWhenRun
393 |
394 | CanShowWhenRun
395 |
396 | Category
397 |
398 | AMCategoryUtilities
399 |
400 | Class Name
401 | RunScriptAction
402 | InputUUID
403 | 9F812B9F-8D05-4C04-8824-D030517EA818
404 | Keywords
405 |
406 | Run
407 |
408 | OutputUUID
409 | 5669B2E1-8E7A-4F0C-B6CE-E168CC2C5142
410 | UUID
411 | F3252616-F413-405E-BB3B-B6BC41F756B0
412 | UnlocalizedApplications
413 |
414 | Automator
415 |
416 | arguments
417 |
418 | 0
419 |
420 | default value
421 | on run {input, parameters}
422 |
423 | (* Your script goes here *)
424 |
425 | return input
426 | end run
427 | name
428 | source
429 | required
430 | 0
431 | type
432 | 0
433 | uuid
434 | 0
435 |
436 |
437 | isViewVisible
438 |
439 | location
440 | 769.500000:387.000000
441 | nibPath
442 | /System/Library/Automator/Run AppleScript.action/Contents/Resources/English.lproj/main.nib
443 |
444 | isViewVisible
445 |
446 |
447 |
448 | connectors
449 |
450 | 1E3FAAEC-3521-4A6B-B52B-E6A89B73F425
451 |
452 | from
453 | BEBA46C5-5F37-4C4D-8F05-8F824380D041 - BEBA46C5-5F37-4C4D-8F05-8F824380D041
454 | to
455 | F3252616-F413-405E-BB3B-B6BC41F756B0 - F3252616-F413-405E-BB3B-B6BC41F756B0
456 |
457 | 6036ACF1-979B-4FD9-B73F-8B86CA06104D
458 |
459 | from
460 | 3642A3EE-C413-49F6-9F6A-F583B9D460FC - 3642A3EE-C413-49F6-9F6A-F583B9D460FC
461 | to
462 | BEBA46C5-5F37-4C4D-8F05-8F824380D041 - BEBA46C5-5F37-4C4D-8F05-8F824380D041
463 |
464 |
465 | state
466 |
467 | AMLogTabViewSelectedIndex
468 | 1
469 | libraryState
470 |
471 | actionsMajorSplitViewState
472 |
473 | expandedPosition
474 | 100
475 | subviewState
476 |
477 | 0.000000, 0.000000, 381.000000, 765.000000, NO
478 | 0.000000, 765.000000, 381.000000, 0.000000, YES
479 |
480 |
481 | actionsMinorSplitViewState
482 |
483 | expandedPosition
484 | 0.0
485 | subviewState
486 |
487 | 0.000000, 0.000000, 163.000000, 765.000000, NO
488 | 164.000000, 0.000000, 217.000000, 765.000000, NO
489 |
490 |
491 | variablesMajorSplitViewState
492 |
493 | expandedPosition
494 | 136
495 | subviewState
496 |
497 | 0.000000, 0.000000, 381.000000, 438.000000, NO
498 | 0.000000, 439.000000, 381.000000, 135.000000, NO
499 |
500 |
501 | variablesMinorSplitViewState
502 |
503 | expandedPosition
504 | 0.0
505 | subviewState
506 |
507 | 0.000000, 0.000000, 163.000000, 438.000000, NO
508 | 164.000000, 0.000000, 217.000000, 438.000000, NO
509 |
510 |
511 |
512 | majorSplitViewState
513 |
514 | expandedPosition
515 | 0.0
516 | subviewState
517 |
518 | 0.000000, 0.000000, 381.000000, 810.000000, NO
519 | 382.000000, 0.000000, 812.000000, 810.000000, NO
520 |
521 |
522 | minorSplitViewState
523 |
524 | expandedPosition
525 | 0.0
526 | subviewState
527 |
528 | 0.000000, 0.000000, 812.000000, 619.000000, NO
529 | 0.000000, 629.000000, 812.000000, 162.000000, NO
530 |
531 |
532 | windowFrame
533 | {{168, 141}, {1193, 887}}
534 | workflowViewScrollPosition
535 | {{0, 91}, {797, 619}}
536 |
537 | variables
538 |
539 |
540 | UUID
541 | DC46E3D6-EF96-4102-A2AE-62455150A1D0
542 | identifier
543 | com.apple.Automator.Variable.Storage
544 | name
545 | Nome do Aplicativo
546 |
547 |
548 | workflowMetaData
549 |
550 | serviceInputTypeIdentifier
551 | com.apple.Automator.nothing
552 | serviceOutputTypeIdentifier
553 | com.apple.Automator.nothing
554 | serviceProcessesInput
555 | 0
556 | workflowTypeIdentifier
557 | com.apple.Automator.servicesMenu
558 |
559 |
560 |
561 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | F-Script Anywhere for Mac OS X Mavericks (10.9), Yosemite (10.10), El Capitan (10.11)
2 | ===============
3 |
4 | ##Description##
5 | This repository contains an updated F-Script Anywhere Automator workflow compatible with Mac OS X Mavericks. In Mavericks, GDB was retired and therefore this workflow uses LLDB instead. The original F-Script Anywhere for Snow Leopard was written by Silvio H. Ferreira.
6 |
7 | ##What is F-Script?##
8 | [F-Script](https://en.wikipedia.org/wiki/F-Script_\(programming_language\)) is a Smalltalk inspired programming language. F-Script's runtime can be injected into running processes and allows for interactive exploration of running processes. It is therefore a great tool e.g. for debugging or reverse engineering.
9 | You can see F-Script in action [here](http://www.youtube.com/watch?v=SNVnoulAHbg).
10 |
11 | ##How to install##
12 | You have to have F-Script installed in order to use this workflow (install from [here](http://www.fscript.org/download/download.htm)). After unpacking the F-Script zip file, copy the `FScript.framework` to `/Library/Frameworks`. Then install this workflow. After launching an application into which you want to inject F-Script, open the main application menu, select `Services` and click `Inject_FScript` as shown on the image below.
13 |
14 | 
15 |
16 | A new item `F-Script` should appear on the top menu bar as shown on the image below. You can then launch the F-Script environment.
17 |
18 | .
19 |
20 | ##Other considerations##
21 | For whatever reason the F-Script console treats the input of a single straight quotation mark `'` as a curved unicode quotation mark `‘`. In order to input e.g. a string literal (which is in F-Script delimited by two single straight quotation marks), one must input the straight quotation mark using a key combination `control` + `'`.
22 |
23 | __Update__(Jul 23, 2015): It appears that the quote issue has been fixed in [recent versions of F-Script](https://github.com/Kentzo/F-Script/releases).
24 |
--------------------------------------------------------------------------------
/pic1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamnemecek/FScriptAnywhere/faafc445aec5518c95d9ceac5388e5ec32d79704/pic1.png
--------------------------------------------------------------------------------
/pic2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adamnemecek/FScriptAnywhere/faafc445aec5518c95d9ceac5388e5ec32d79704/pic2.png
--------------------------------------------------------------------------------